Opened 14 years ago

Closed 13 years ago

#1420 closed enhancement (fixed)

Copying a folder with the same name as an existing folder should offer the option to merge both folders

Reported by: scottmc Owned by: anevilyak
Priority: normal Milestone: R1
Component: Applications/Tracker Version: R1/pre-alpha1
Keywords: Cc:
Blocked By: Blocking: #3171
Platform: All

Description

If you drag a folder with the same name as an existing folder but with different files in it, the destination folder will then be completely replaced by the new folder, deleting anything that you might have in the destination folder. Not sure if this was the intended result or not. I would think not, but the warning message you get does say it will "replace" it. Attached are three screen captures, showing the source and destination folders before, during and then after. Notice the "my-very-important-files" folder is gone after this action is performed.

Attachments (4)

step1.png (55.9 KB ) - added by scottmc 14 years ago.
step2.png (67.8 KB ) - added by scottmc 14 years ago.
step3.png (58.5 KB ) - added by scottmc 14 years ago.
Tracker.FSUtilsFixes.patch (6.0 KB ) - added by anevilyak 13 years ago.
preliminary testing patch

Download all attachments as: .zip

Change History (15)

by scottmc, 14 years ago

Attachment: step1.png added

by scottmc, 14 years ago

Attachment: step2.png added

by scottmc, 14 years ago

Attachment: step3.png added

comment:1 by stippi, 14 years ago

Summary: Copying a folder with the same name as an existing folder deletes files unexpectedlyCopying a folder with the same name as an existing folder should offer the option to merge both folders
Type: bugenhancement

The current behaviour is "correct", ie intended, you even get the warning what will happen. But I understand it is not always the desired behaviour. Tracker should offer a third option to "merge" or "update" the target folder contents. Adding new files from the source folder and replacing existing files if the ones from the source folder are newer. I am turning this ticket into an enhancement since it is not really a bug.

comment:2 by stippi, 14 years ago

Component: - General- Applications/Tracker

comment:3 by scottmc, 13 years ago

Just noticed this on BeTips server: http://betips.net/1997/09/09/dont-overwrite-existing-folders/ So it was "supposed" to be changed in R5, but I guess it didn't make it. I really think this should be addressed in R1.

comment:4 by aldeck, 13 years ago

I'd call that one a bug! At least it will be a bad joke for most users :) I mean, 99% of the time you want the folders to merge, i don't really see why replacing is the default. Also it would be more consistent with other operating systems.

And guys, it's even the first issue addressed by Sikosis's Haiku Tips, and feels really embarassing (see Haiku Down Under video at the end)

comment:5 by axeld, 13 years ago

Well, BeOS survived long years with this "feature", so I wouldn't go as far to call it a bug. But in any case, changing this would be very welcome :-)

comment:6 by aldeck, 13 years ago

Owner: changed from axeld to aldeck
Status: newassigned

will give it a try.

comment:7 by aldeck, 13 years ago

Owner: changed from aldeck to nobody
Status: assignednew

lacking time, i'll have a look again in a few weeks if no one takes it :)

comment:8 by anevilyak, 13 years ago

Owner: changed from nobody to anevilyak
Status: newassigned

Will see what I can do with this one.

by anevilyak, 13 years ago

Attachment: Tracker.FSUtilsFixes.patch added

preliminary testing patch

comment:9 by anevilyak, 13 years ago

Attached an initial patch aimed at fixing this problem and one or two others

1) Move To now actually moves in all cases, not just when the same volume's involved. Note that this has the side effect that drag and drop between volumes is now also a move. Whether that remains the case before this patch is finalized is to be determined. 2) The "Replace" option now does a Merge rather than a flat out nuke of the previous dir's contents. Still working on adjusting the GUI portion of it so one can do the merge interactively since it was never previously designed to cope with that (right now it's essentially replace all or cancel). This will also be adjusted as I find time.

For now I'd mainly like to know that it's functionally stable, I haven't found a way to break it yet, but if you do find any regressions I'd like to hear it please.

comment:10 by anevilyak, 13 years ago

Resolution: fixed
Status: assignedclosed

Fixed in hrev28731.

comment:11 by anevilyak, 13 years ago

Blocking: 3171 added
Note: See TracTickets for help on using tickets.