/* * 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}" ;