DIFFMK(1) HP-UX 5.0 DIFFMK(1) NAME diffmk - mark differences between files SYNOPSIS diffmk name1 name2 name3 HP-UX COMPATIBILITY Level: HP-UX/STANDARD Origin: System V DESCRIPTION Diffmk compares two versions of a file and creates a third file that includes ``change mark'' commands for nroff(1) or troff(1). Name1 and name2 are the old and new versions of the file. Diffmk generates name3, which contains the lines of name2 plus inserted formatter ``change mark'' (.mc) requests. When name3 is formatted, changed or inserted text is shown by | at the right margin of each line. The position of deleted text is shown by a single *. If anyone is so inclined, diffmk can be used to produce listings of C (or other) programs with changes marked. A typical command line for such use is: diffmk old.c new.c tmp; nroff macs tmp | pr where the file macs contains: .pl 1 .ll 77 .nf .eo .nc The .ll request might specify a different line length, depending on the nature of the program being printed. The .eo and .nc requests are probably needed only for C programs. If the characters | and * are inappropriate, a copy of diffmk can be edited to change them (diffmk is a shell procedure). SEE ALSO diff(1), nroff(1), troff(1). BUGS Aesthetic considerations may dictate manual adjustment of some output. File differences involving only formatting requests may produce undesirable output, i.e., replacing .sp by .sp 2 will produce a ``change mark'' on the preceding or following line of output. Although unlikely, certain combinations of formatting requests may cause change marks to either disappear or to mark too much. Manual intervention may be required as the subtleties of all the various formatting macro packages and preprocessors is beyond the scope of diffmk. The input to tbl(1) cannot tolerate .mc commands. Any .mc that would appear inside a .TS range will be silently deleted. The script can be changed if this action is inappropriate or diffmk can be run on the output from tbl(1). Diffmk uses diff(1) and thus has whatever limitations on file size and performance that diff may impose. In particular the performance is non-linear with the size of the file, and very large files (well over 1000 lines) may take extremely long to process. Breaking the file into smaller pieces may be advisable. Diffmk also uses ed(1), and if the file is too large for ed, ed error messages may be imbedded in the file. Again, breaking the file into smaller pieces may be advisable.