/* * aegis - project change supervisor * This file is in the Public Domain, 2004, Peter Miller. * * 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 -1 option produces an output * with inserts and deletes shown line, with the whole file as context. * 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 -U -1 -a ${quote $original} ${quote $input} " "> ${quote $output}; test $? -le 1"; /* * Here is a possible diff_command that could be used if * dealing with binary files is required. * * If the return code from the original diff is greater then 1, then * make sure that diff spit out the 'Binary files differ message' * and return 0, otherwise return 1 * diff_command = "set +e; " "diff -U -1 -a ${quote $original} ${quote $input} > ${quote $output}; " "if test $? -gt 1; then " "grep -q '^Binary' ${quote $output}; " "test $? -eq 0; " "else true; fi"; * */