From Ediff.el: The present version of Ediff supersedes Emerge. It provides a superior user interface and has numerous major features not found in Emerge. In particular, it can do patching, and 2-way and 3-way file comparison, merging, and directory operations.
Emerge is a graphical frontend to the UNIX “diff” and “diff3” commands. It is useful if two programmers on a project team both changed the same file and you need to integrate their changes.
Here is the Ediff manual section for emerge: http://www-2.cs.cmu.edu/cgi-bin/info2www?(emacs)Emerge
Useful settings for emerge:
(setq emerge-diff-options "--ignore-all-space")
Start emerge faster for git-mergetool = If you want to use emerge as git-mergetool, and want to start emacs using emacs -Q, then
#!/bin/sh
emacs -Q "$@"
$ git config --global merge.tool emerge $ git config --global mergetool.emerge.path $HOME/bin/emerge-for-git
Now git-mergetool should start emacs using emacs -Q. I still don’t know how to use emacsclient for emerge.
emacsclient -c --eval "(emerge-files \"$3\" \"$4\")"
Or if you prefer “emerge”
emacsclient -c --eval "(emerge-files nil \"$3\" \"$4\" \"${4}.out\")"
Since the “emacs -Q $*” version will actually be expand to
emacs -Q -f emerge-files-command /tmp/fileA fileB
CategoryExternalUtilities CategoryProgrammerUtils CategoryComparing