The EdiffTrees package is a simple frontend to EdiffMode to allow a simpler comparison of two similar directory trees.

I wrote this package because I often need to compare two different versions of the same directory tree and ediff-directories is not very helpful in this case. Specially when the directory trees to compare are deep and only a few files have changed.

For further instructions, please see the comentary in the file.


Any comments are welcomed, of course.

There seems to be something wrong with the link above.

Somebody uploaded a file instead of just pasting the elisp into the text area… – AlexSchroeder

Oops, I’ve fixed that with the update to a new version of the package.

I did something similar with the concept of secondary project roots. The example code is pasted in EdiffMode. I shall have a play with your mode ☺


i’ve been looking for this functionality for a long time. getting “function definition is void: eql” errors on diffs (everything i’ve tried so far), even for simple directories that only differ in one line of 1 file. any thoughts ? using emacs 21.2.1


I’d love a recursive directory diff in Emacs that presented a view of two dired buffers side by side, above two file buffers. I’d like to filter the dired buffers in various ways: (a) show all files, (b) show only differing files, (c) show only files added on the lhs/rhs. The file buffers should use ediff-mode.

Even better would be a three-way diff/merge with three file and dired buffers similar to the two way comparison case. – MatthewLMcClure

Thank you for writing this tool. It was handy for a task I just had and have encountered previously!

ediff-trees-examine-next-regexp is less convenient than it could be. I’d prefer the ediff-directories behavior of querying for a regular expression to match against filenames rather than constantly invoking ediff-trees-examine-next-regexp and giving the same regexp each time. (Even though I can recall the regexp from history, it’s awkward).

A control window, like ediff’s own, that provides the ability to navigate among the changed files, would be helpful, too. That is, having a window that permits jumping to the first, last, previous, next, or numbered file pair, like ediff permits navigating differences for a pair, would make the usage clearer. Thus, one would select a pair to compare, ediff-trees would run ediff, one would close ediff after comparing the files, then one would select the next pair to compare.