RMGDIFF(1x)
π rmgdiff β the manual, but make it make sense π
okay bestie, welcome to rmgdiff(1x) β yes that's the 1x manual section, we're fancy like that. this is a lil awk script whose whole personality is "let me recursively view the differences between two directories using almost any graphical file difference browser." she's a connector, a matchmaker, a girly who calls in the GUI when the GUI is needed. β¨
πΈ SYNOPSIS πΈ
rmgdiff [-b] [-d] [-g gui] [-n] dir1 dir2
that's it. two directories, a couple of flags, we're going. π«Ά
π¦ DESCRIPTION π¦
so, rmgdiff is an awk script β yes, awk, she's vintage and she ATE β and she works in conjunction with almost any graphical file difference browser. like, it's known to work with mgdiff, tkdiff, and xdiff. iconic trio fr fr. π
and here's the tea: unless I am mistaken (which, fair, keep that caveat), most of the GUI difference viewers β except for emacs β do not have built-in support for recursing down two directories. but diff does. so based on diff's output, rmgdiff decides when to invoke the graphical difference viewer. she's basically the manager. she delegates. π
plus, rmgdiff also collates diff's output. the way that works: 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. then it starts the GUI and blocks until the user exits. and as more text files with differences are found, the GUI will be started up again. like, over and over. main character energy honestly. π
in the interim, rmgdiff keeps track of differences in binary (non-text) files. she organizes those binary files as:
- executables
- shared libraries
- static libraries
- object files
- other
and only after all the text files have been displayed will rmgdiff report the binary differences. she's not interrupting herself, okay? patience. β¨
she also keeps track of files and directories that diff reports as being only in one directory or another. rmgdiff organizes these entries by directory. so files in one directory get reported in one block, and files that are in the other directory get reported in a different block. no mixing. very organized. very demure. π
and on top of printing the name of the files that are different, rmgdiff defaults to printing the relevant portion of the output from the file command. the unfortunate side-effect of this is that it slows things down. however, I find this information to be invaluable. so like, tradeoff. π if you're just looking for a fast way to collate diff's output, try piping it into sort instead. lowkey a hack, highkey valid.
β¨ COMMAND LINE OPTIONS β¨
-bβ sets the basic reporting mode. in basic mode,rmgdiffreports only file names. it does not report the file types involved. minimal. clean. no extra chatter. π€«-cβ by default, files relating to CVS are ignored byrmgdiff. if you want to include CVS files, use this option. so like,-c= CVS comes back into the group chat. π-dβ setsrmgdiffto print way too much debugging information. not "some" debugging info. WAY too much. she said "let me tell you everything." π-ggui β tellsrmgdiffwhich gui you would like to use for viewing differences. by default,mgdiffis used. you can also set$RMGDIFF_GUIin your environment, but it can be overridden with this option. so: option > environment variable. periodt. π-nβrmgdiffwill not invoke the gui. this is useful if you only want to view the collated output. all vibes, no windows. π§
heads up bestie:-gtakes a gui argument, and it beats$RMGDIFF_GUIevery single time. that's not a suggestion, that's the rules. π
π AUTHOR π
Paul Serice (paul@serice.net) β the legend, the originator, the one who wrote this whole thing. give her her flowers. πΈ
and that's the whole page, bestie!! this was RMGDIFF(1x) β that's the title and the manual name and, honestly, also the footer, because the original page just signs off with RMGDIFF(1x) at the bottom with no extra source/version line or date to give you. so consider this the cute sign-off: π«Ά RMGDIFF(1x), that's the vibe, that's the whole footer, bye ily β¨π
π
π¦ where this page comes from
- debian bookworm: mgdiff 1.0+debian1-1
- debian trixie: mgdiff 1.0+debian1-1+b1
- ubuntu jammy: mgdiff 1.0-30build1
- ubuntu noble: mgdiff 1.0+debian1-1build2
- ubuntu questing: mgdiff 1.0+debian1-1build2
- ubuntu resolute: mgdiff 1.0+debian1-2
- ubuntu stonking: mgdiff 1.0+debian1-3
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms