/* * aegis - project change supervisor * This file is in the Public Domain, 1999 Peter Miller. * * MANIFEST: example use of diff in the project config file * * The ${quote ...} construct is used to quote filenames which contain * shell special characters. A minimum of quoting is performed, so if * the filenames do not contain shell special characters, no quotes will * be used. */ /* * Compare two files using GNU diff. The -U 10 option produces an output * with inserts and deletes shown line, with 10 lines of context before * and after. This is usually superior to -c, as it shows what happened * more clearly (and it takes less space). The -b option could be added * to compare runs of white space as equal. * * This command is used by aed(1) to produce a difference listing when * file in the development directory was originally copied from 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 version * originally copied. 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. (So we need to massage the exit status, because diff does * things a little differently.) * * The non-zero exit status may be used to overload this command with * extra tests, such as line length limits. The difference files must * be produced in addition to these extra tests. */ diff_command = "set +e; diff -U10 ${quote $original} ${quote $input} > ${quote $output}; test $? -le 1";