Next: , Previous: , Up: Comparing and Merging Files   [Contents][Index]

9 Interactive Merging with sdiff

With sdiff, you can merge two files interactively based on a side-by-side -y format comparison (see Showing Differences Side by Side). Use --output=file (-o file) to specify where to put the merged text. See 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 Emerge in The GNU Emacs Manual, for more information.


9.1 Specifying diff Options to sdiff

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

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

--expand-tabs
--ignore-blank-lines  --ignore-case
--ignore-matching-lines=regexp  --ignore-space-change
--ignore-tab-expansion  --ignore-trailing-space
--left-column  --minimal  --speed-large-files
--strip-trailing-cr  --suppress-common-lines
--tabsize=columns  --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 --side-by-side (-y) option (see Showing Differences Side by Side).


9.2 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.

ed

Like ‘eb’, except precede each version with a header that shows what file and lines the version came from.

el
e1

Edit a copy of the left version, then copy the result to the output.

er
e2

Edit a copy of the right version, then copy the result to the output.

l
1

Copy the left version to the output.

q

Quit.

r
2

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.


Next: , Previous: , Up: Comparing and Merging Files   [Contents][Index]