gendiff <directory> <diff-extension>
gendiff is a rather simple script which aids in generating a diff file from a single directory. It takes a directory name and a "diff-extension" as its only arguments. The diff extension should be a unique sequence of characters added to the end of all original, unmodified files. The output of the program is a diff file which may be applied with the patch program to recreate the changes.
The usual sequence of events for creating a diff is to create two identical directories, make changes in one directory, and then use the diff utility to create a list of differences between the two. Using gendiff eliminates the need for the extra, original and unmodified directory copy. Instead, only the individual files that are modified need to be saved.
Before editing a file, copy the file, appending the extension you have chosen to the filename. I.e. if you were going to edit somefile.cpp and have chosen the extension "fix", copy it to somefile.cpp.fix before editing it. Then edit the first copy (somefile.cpp).
After editing all the files you need to edit in this fashion, enter the directory one level above where your source code resides, and then type
$ gendiff somedirectory .fix > mydiff-fix.patch
You should redirect the output to a file (as illustrated) unless you want to see the results on stdout.
Marc Ewing <email@example.com>