C
Cloudane
Guest
I've been bitten by what I think is quite a nasty difference in the OS X finder for switchers! Lucky thing I had backups... in fact it was backups that I was working on, but that's besides the point.
Copying one folder on top of another in Windows causes it to merge the contents of the new folder with the contents of the old one, overwriting any files which have the same name but keeping all the existing files. It does this for every single subfolder and sub-subfolder etc it comes across too. This may not be the most logical method, but it's the safest and wisest UI choice because it avoids deleting a user's data - which should be treated as sacred. All other platforms I've ever used have also done this, so I've never questioned it or even thought about it since the very first time I used a computer.
Copying one folder on top of another in OS X, however (and telling it to replace it), causes it to DELETE the old folder and ALL its subfolders - the entire tree if you will - before replacing it with a copy of the new one. Kiss goodbye to any existing files you had in the the old folder, they've gone forever... they don't even go into the trash.
Let me use an example to illustrate...
Let's say I have disk A from computer A which runs Windows. Disk A contains a backup of the "My Documents" folder. That folder contains a bunch of documents as well as "My Pictures", "My Music" etc.
Now I have disk B from computer B. That has the same thing - a bunch of files and folders along with My Documents and its subfolders.
I want to copy the contents of disk B onto disk A so that the My Documents folder on disk A will contain its existing documents as well as those from disk B. I want the same thing to happen with its subdirectories so that My Documents\My Pictures contains the pictures that were already on disk A as well as those copied across from disk B.
In Windows it's easy - you copy My Documents from disk B to disk A and say "Yes to All" when it asks whether to overwrite any files it comes across with the same name on both disks. The two folder structures and contents are now merged into one, with the contents from disk B taking priority over those existing on disk A.
In Mac OS X, it's not so easy. Copying My Documents and telling it to replace the old one will do just that - it'll delete the old one and you'll end up with two disk Bs and everything from disk A destroyed.
The only workaround I've found is to open up a terminal and (for example)
cp -rp /Volumes/A/My\ Documents /Volumes/B
but this comes across as a bit clumsy and goes against everything I thought OS X stood for - i.e. being infinitely flexible as well as friendly, never destroying data unless explicitly asked to, and not having to require the terminal for anything. Then suddenly this huge usability issue pops up - I can see a lot of switchers learning a valuable lesson here, but one which they shouldn't have to learn IMO. And if you're not technically-minded, you won't necessarily realise what happened... the only thing you'll notice is that some files you expected to still be there are suddenly missing.
My questions are:
Is Apple aware of this? If not, what's the best way of telling them? IMO the best thing for them to do is change the dialog that pops up if it encounters a folder of the same name. Have it so that it asks "Trying to copy BLAH into FOO, but there is already a folder under FOO named BLAH. What would you like to do?" - buttons: Replace, Merge, Stop. Choosing merge would assume that you want to do the same for any subdirectories it comes across.
Is there a workaround - maybe a hidden Finder feature or a third party plugin - that doesn't involve terminal hacking? From a Windows perspective, merging folder structures is such a remarkably easy thing to do that Windows users don't even think about it until they come to OS X and find that it's missing. And then we're stuck - even Automator can't seem to do it.
Copying one folder on top of another in Windows causes it to merge the contents of the new folder with the contents of the old one, overwriting any files which have the same name but keeping all the existing files. It does this for every single subfolder and sub-subfolder etc it comes across too. This may not be the most logical method, but it's the safest and wisest UI choice because it avoids deleting a user's data - which should be treated as sacred. All other platforms I've ever used have also done this, so I've never questioned it or even thought about it since the very first time I used a computer.
Copying one folder on top of another in OS X, however (and telling it to replace it), causes it to DELETE the old folder and ALL its subfolders - the entire tree if you will - before replacing it with a copy of the new one. Kiss goodbye to any existing files you had in the the old folder, they've gone forever... they don't even go into the trash.
Let me use an example to illustrate...
Let's say I have disk A from computer A which runs Windows. Disk A contains a backup of the "My Documents" folder. That folder contains a bunch of documents as well as "My Pictures", "My Music" etc.
Now I have disk B from computer B. That has the same thing - a bunch of files and folders along with My Documents and its subfolders.
I want to copy the contents of disk B onto disk A so that the My Documents folder on disk A will contain its existing documents as well as those from disk B. I want the same thing to happen with its subdirectories so that My Documents\My Pictures contains the pictures that were already on disk A as well as those copied across from disk B.
In Windows it's easy - you copy My Documents from disk B to disk A and say "Yes to All" when it asks whether to overwrite any files it comes across with the same name on both disks. The two folder structures and contents are now merged into one, with the contents from disk B taking priority over those existing on disk A.
In Mac OS X, it's not so easy. Copying My Documents and telling it to replace the old one will do just that - it'll delete the old one and you'll end up with two disk Bs and everything from disk A destroyed.
The only workaround I've found is to open up a terminal and (for example)
cp -rp /Volumes/A/My\ Documents /Volumes/B
but this comes across as a bit clumsy and goes against everything I thought OS X stood for - i.e. being infinitely flexible as well as friendly, never destroying data unless explicitly asked to, and not having to require the terminal for anything. Then suddenly this huge usability issue pops up - I can see a lot of switchers learning a valuable lesson here, but one which they shouldn't have to learn IMO. And if you're not technically-minded, you won't necessarily realise what happened... the only thing you'll notice is that some files you expected to still be there are suddenly missing.
My questions are:
Is Apple aware of this? If not, what's the best way of telling them? IMO the best thing for them to do is change the dialog that pops up if it encounters a folder of the same name. Have it so that it asks "Trying to copy BLAH into FOO, but there is already a folder under FOO named BLAH. What would you like to do?" - buttons: Replace, Merge, Stop. Choosing merge would assume that you want to do the same for any subdirectories it comes across.
Is there a workaround - maybe a hidden Finder feature or a third party plugin - that doesn't involve terminal hacking? From a Windows perspective, merging folder structures is such a remarkably easy thing to do that Windows users don't even think about it until they come to OS X and find that it's missing. And then we're stuck - even Automator can't seem to do it.