There are dozens of file/folder comparison/sync/merge tools but I am looking for a specific graphical interface and functionality that is quite simple yet unfortunately quite hard to find:
- Manually choose two folders to compare; none is specified as source or destination
- Scan the two folders and display differences:
- display is in a twin-panel, horizontally split interface
- in each panel, a separate tree view is shown for the corresponding folder
- folders are expanded in each tree only if they contain new or changed files
- 'changed' can be either by content (for precision) or by timestamp (for speed)
- only new or changed files are shown under each expanded folder
- Select files in a number of ways:
- begin by selecting all new files on left or right tree; or all changed files on both trees (affected folders are automatically expanded if they have been previously collapsed)
- optionally, deselect files under a specific folder, by just collapsing it
- optionally, fine-tune the selection of individual files, by common mouse actions like single click, shift-click, control-click, shift-drag, control-drag etc.
- alternatively, make a selection manually just by mouse actions, without starting by all new/changed files
- Copy selected files, either left-to-right or right-to-left; or delete selected files from left, right, or both trees
- Repeat steps 3-4 interactively, occasionally refreshing the view by going back to step 2, until the two folders are identical.
I am doing such comparison like every day to manually sychronize folders between machines using a portable disk. My typical folder contains around 30K files in 5K sub-folders, and is around 30Gbytes in total. Because of size, I do not actually compare file content, rather only timestamps. A typical session takes around 2-3 minutes for one day's changes. After e.g. one month of changes, it might take around 15 minutes because there is more to check.
Being able to do the comparison manually is important because I may e.g. have moved, copied or deleted a file by accident during the day without realizing it, and I can discover and correct this during the comparison. It is impossible to do this automatically; you need a manual process and a convenient graphical interface.
I have been using araxis merge for more than 10 years. Its model of use is exactly as described and I was very happy with it, at least on Windows. Unfortunately, it is not only commercial, but also not available for Linux. Using it over wine is a very poor experience. Worse, upgrading to Kubuntu 14.04 with wine 1.4-1.7, the program freezes when I move it to another screen. So I am looking for alternatives once more.
Beyond compare offers the same functionality and is available for Linux, but again, it is commercial. Also, it cannot expand automatically folders like Araxis merge (only if they contain new or changed files). You have to expand all folders to see the differences.
I have also tried meld, which is free and available for Linux. It looks like it offers the same functionality, and is quite pretty. Unfortunately it is extremely slow and its interface becomes unresponsive, so it is practically useless on large folders like mine.
So, is there any other alternative on Linux, preferrably free, that offers this functionality as described above?