How to merge (and not replace) folders when copying on the Mac?

There's a similar question about windows. This is the same, but for mac. By the way, it's odd there's no question on this yet, since it seems like it's the most hated thing on Mac OS X.

If I try to copy or move a folder to somewhere it already exists, it asks to replace it. That would result in deleting the target. Rather I want to merge.

There's already a aquataskforce request about this, and it's a discussion going for a long time if it's even something that should exist on Mac, due to its whole philosophy. Discussions at Apple are outdated and didn't help much as well.

As usual, there are professional solutions for doing this, such as Changes and Araxis. And there is the rsync or command line alternatives. But I want a free and simple solution, something like how it is done in Windows or Linux. I won't be doing it much anyway. By the way, PathFinder don't have such option as well and FolderMerge doesn't work on Snow Leopard as far as my 1 test went.

Suggestions to whom may come up with a solution:

I think a good idea would be to move everything non-exact-duplicate to the same folder, and leave every duplicate behind. No confirmation is needed in this case, and I can easily check the duplicates later. If it's copying merge, then the target folder will contain everything, and the source will be rather untouched. Duplicate-check is just on the file name. Leave any more complicated thing to third parties.


Solution 1:

Try MacUpdate, Softpedia and Brothersoft. Search for Folder Merge.

Folder Merge

Small software utility that will merge folder contents

By Default OSX doesn't merge folder contents so this is a simple GUI tool to do just that.

If simply you want to merge the files located in two separate folders, you can easily do that with Folder Merge.


Unison

This is free.

Unison is a file-synchronization tool for Unix and Windows. It allows two replicas of a collection of files and directories to be stored on different hosts (or different disks on the same host), modified separately, and then brought up to date by propagating the changes in each replica to the other.

Solution 2:

Once in Terminal, type: ditto from_folder destination_folder

Ex:

ditto ~/Desktop/SomeFolder ~/Desktop/SomeOtherFolder

Infallible.