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


Interactive Merging with @command{sdiff}

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

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

Specifying @command{diff} Options to @command{sdiff}

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

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

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

For historical reasons, @command{sdiff} has alternate names for some options. The @option{-l} option is equivalent to the @option{--left-column} option, and similarly @option{-s} is equivalent to @option{--suppress-common-lines}. The meaning of the @command{sdiff} @option{-w} and @option{-W} options is interchanged from that of @command{diff}: with @command{sdiff}, @option{-w columns} is equivalent to @option{--width=columns}, and @option{-W} is equivalent to @option{--ignore-all-space}. @command{sdiff} without the @option{-o} option is equivalent to @command{diff} with the @option{-y} or @option{--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, @command{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.
`ed'
Like `eb', except precede each version with a header that shows what file and lines the version came from.
`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 @env{EDITOR} environment variable if it is set. The default is system-dependent.


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