Go to the first, previous, next, last section, table of contents.

# Introduction

Ediff provides a convenient way for simultaneous browsing through the differences between a pair (or a triple) of files or buffers. The files being compared, file-A, file-B, and file-C (if applicable) are shown in separate windows (side by side, one above the another, or in separate frames), and the differences are highlighted as you step through them. You can also copy difference regions from one buffer to another (and recover old differences if you change your mind).

Another powerful feature is the ability to merge a pair of files into a third buffer. Merging with an ancestor file is also supported. Furthermore, Ediff is equipped with directory-level capabilities that allow the user to conveniently launch browsing or merging sessions on groups of files in two (or three) different directories.

In addition, Ediff can apply a patch to a file and then let you step though both files, the patched and the original one, simultaneously, difference-by-difference. You can even apply a patch right out of a mail buffer, i.e., patches received by mail don't even have to be saved. Since Ediff lets you copy differences between buffers, you can, in effect, apply patches selectively (i.e., you can copy a difference region from ``file_orig'` to ``file'`, thereby undoing any particular patch that you don't like).

Ediff even understands multi-file patches and can apply them interactively! (Ediff can recognize multi-file patches only if they are in the context or GNU unified format. All other patches are treated as 1-file patches. Ediff is [hopefully] using the same algorithm as patch to determine which files need to be patched.)

Ediff is aware of version control, which lets you compare files with their older versions. Ediff also works with remote and compressed files, automatically ftp'ing them over and uncompressing them. See section Remote and Compressed Files, for details.

This package builds upon ideas borrowed from Emerge and several Ediff's functions are adaptations from Emerge. Although Ediff subsumes Emerge, much of the functionality of Ediff is influenced by Emerge. The architecture and the interface are, of course, drastically different.

Go to the first, previous, next, last section, table of contents.