1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
/*
* aegis - project change supervisor
* This file is in the Public Domain, 1999 Peter Miller.
*
* The diff3(1) command is the oldest of the Unix file merge tools, and
* the least capable. You should use the RCS merge(1) in preference to
* diff(3).
*/
/*
* Compare three files using diff3. Conflicts are marked in the
* output.
*
* This command is used by aed(1) to produce a difference listing when a
* file in the development directory is out of date compared to the
* current version in the baseline.
*
* All of the command substitutions described in aesub(5) are available.
* In addition, the following substitutions are also available:
*
* ${ORiginal}
* The absolute path name of a file containing the common ancestor
* version of ${MostRecent} and {$Input}. Usually the version
* originally copied into the change. Usually in a temporary file.
* ${Most_Recent}
* The absolute path name of a file containing the most recent
* version. Usually in the baseline.
* ${Input}
* The absolute path name of the edited version of the file.
* Usually in the development directory.
* ${Output}
* The absolute path name of the file in which to write the
* difference listing. Usually in the development directory.
*
* An exit status of 0 means successful, even of the files differ (and
* they usually do). An exit status which is non-zero means something
* is wrong.
*
* The diff3(1) man page documents the file order as "mine, older,
* yours". The diff3 -e option says to write output which can be used
* as ed(1) input.
*/
merge_command =
"(diff3 -e ${quote $i} ${quote $orig} ${quote $mr} | "
"sed -e '/^w$$/d' -e '/^q$$/d'; echo '1,$$p' ) | "
"ed - ${quote $i} > ${quote $out}"
;
|