NAME¶
rmgdiff - use almost any graphical file difference browser to recursively view
the differences between two directories.
SYNOPSIS¶
rmgdiff [-b] [-d] [-g gui] [-n] dir1 dir2
DESCRIPTION¶
rmgdiff is an awk script that works in conjunction with almost any
graphical file difference browser. It is known to work with
mgdiff,
tkdiff, and
xdiff.
Unless I am mistaken, most of the GUI difference viewers (except for emacs) do
not have built-in support for recursing down two directories, but
diff
does. Based on
diff's output,
rmgdiff decides when to invoke the
graphical difference viewer.
In addition,
rmgdiff also collates
diff's output. As soon as a new
difference is encountered in a text file,
rmgdiff will print to
standard output the name of the file that both directories have in common. It
will then start the GUI and block until the user exits. As more text files
with differences are found, the GUI will be started up again.
In the interim,
rmgdiff will keep track of differences in binary
(non-text) files. It organizes the binary files as executables, shared
libraries, static libraries, object files, and other. Only after all the text
files have been displayed will
rmgdiff report the binary differences.
It also keeps track of files and directories that
diff reports as being
only in one directory or another.
rmgdiff organizes these entries by
directory. Thus, files in one directory will be reported in one block, and
files that are in the other directory will be reported in a different block.
In addition to printing the name of the files that are different,
rmgdiff
defaults to printing the relevant portion of the output from the
file
command. This has the unfortunate side-effect of slowing things down; however,
I find this information to be invaluable. If you're just looking for a fast
way to collate
diff's output, try piping it into
sort instead.
COMMAND LINE OPTIONS¶
- -b
- Sets the basic reporting mode. In basic mode, rmgdiff reports only file
names. It does not report the file types involved.
- -c
- By default, files relating to CVS are ignored by rmgdiff. If
you want to include CVS files, use this option.
- -d
- Sets rmgdiff to print way too much debugging information.
- -g gui
- Tells rmgdiff which gui you would like to use for viewing
differences. By default, mgdiff is used. You can also set
$RMGDIFF_GUI in your environment, but it can be overridden with this
option.
- -n
- rmgdiff will not invoke the gui. This is useful, if you only want
to view the collated output.
AUTHOR¶
Paul Serice (paul@serice.net)