Whole document tree
    

Whole document tree

Comparing and Merging Files - Interactive Merging with sdiff Go to the first, previous, next, last section, table of contents.


Interactive Merging with sdiff

With sdiff, you can merge two files interactively based on a side-by-side `-y' format comparison (see section Showing Differences Side by Side). Use `-o file' or `--output=file' to specify where to put the merged text. See section Invoking sdiff, for more details on the options to sdiff.

Another way to merge files interactively is to use the Emacs Lisp package emerge. See section `emerge' in The GNU Emacs Manual, for more information.

Specifying diff Options to sdiff

The following sdiff options have the same meaning as for diff. See section Options to diff, for the use of these options.

-a -b -d -i -t -v
-B -H -I regexp

--ignore-blank-lines  --ignore-case
--ignore-matching-lines=regexp  --ignore-space-change
--left-column  --minimal  --speed-large-files
--suppress-common-lines  --expand-tabs
--text  --version  --width=columns

For historical reasons, sdiff has alternate names for some options. The `-l' option is equivalent to the `--left-column' option, and similarly `-s' is equivalent to `--suppress-common-lines'. The meaning of the sdiff `-w' and `-W' options is interchanged from that of diff: with sdiff, `-w columns' is equivalent to `--width=columns', and `-W' is equivalent to `--ignore-all-space'. sdiff without the `-o' option is equivalent to diff with the `-y' or `--side-by-side' option (see section Showing Differences Side by Side).

Merge Commands

Groups of common lines, with a blank gutter, are copied from the first file to the output. After each group of differing lines, sdiff prompts with `%' and pauses, waiting for one of the following commands. Follow each command with RET.

`e'
Discard both versions. Invoke a text editor on an empty temporary file, then copy the resulting file to the output.
`eb'
Concatenate the two versions, edit the result in a temporary file, then copy the edited result to the output.
`el'
Edit a copy of the left version, then copy the result to the output.
`er'
Edit a copy of the right version, then copy the result to the output.
`l'
Copy the left version to the output.
`q'
Quit.
`r'
Copy the right version to the output.
`s'
Silently copy common lines.
`v'
Verbosely copy common lines. This is the default.

The text editor invoked is specified by the EDITOR environment variable if it is set. The default is system-dependent.


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