Comparing directories in Emacs

diff()emacs

I am experimenting with ediff-directories, but I am not sure I am using it correctly.

I read in the documentation that, once I supply two directories to ediff-directories, if I press == Emacs compares them recursively.

However, if I press == I only get folders with = signs (meaning that the two folders have identical contents) on the level where I run the command. If I want to see which folders have = signs at deeper levels in the folder hierarchy, I need to re-run the == command at each level.

How can I tell emacs to go recursively all the way to the leaves so that I can see all the differences in the directory difference buffer (accessible via the keyboard command D)?

If anybody knows of a tutorial on how to use ediff-directories (other than the official documentation), I would be highly interested.


Also, if I want to exit a session group (comparison of folders at one level), but I have sessions open for deeper levels, if I press q (quit this session group), Emacs complains with the messaage:

This sesssion group has active sessions—cannot exit

How can I exit session groups without exiting the sub-sessions one by one?

Best Answer

I have used M-x dired-compare-directories, but there is also EdiffTrees, which might serve you better in the situation you describe.

Related Question