rdiff
-----
Synopsis: rdiff [OPTIONS] PROJECTS
* Alternate names - patch, pa
* Requires - Repository
* Changes - Nothing
Like the diff command, except it operates directly in the repository
and, therefore, requires no working copy. This command is meant for
obtaining the differences between one release and another of your
project, in a format suitable as input to the patch program (perhaps so
you can distribute patch files to users who want to upgrade).
The operation of the patch program is beyond the scope of this book.
However, note that if the patch file contains diffs for files in
subdirectories, you may need to use the -p option to patch to get it to
apply the differences correctly. (See the patch documentation for more
about this.) (See also Note:diff.)
Options:
* -c - Prints output in context diff format (the default).
* -D DATE or -D DATE1 -D DATE2 - With one date, this shows the
differences between the files as of DATE and the head revisions.
With two dates, it shows the differences between the dates.
* -f - Forces the use of head revision if no matching revision is
found for the -D or -r flag (otherwise, rdiff would just ignore
the file).
* -l - Local. Won't descend into subdirectories.
* -R - Recursive. Descends into subdirectories (the default). You
only specify this option to counteract a -l in your .cvsrc.
* -r REV -r REV1 -r REV2 - With one revision, this shows the
differences between revision REV of the files and the head
revisions. With two, it shows the differences between the
revisions.
* -s - Displays a summary of differences. This shows which files
have been added, modified, or removed, without showing changes in
their content. The output looks like this:
floss$ cvs -Q rdiff -s -D 1999-08-20 myproj
File myproj/Random.txt is new; current revision 1.4
File myproj/README.txt changed from revision 2.1 to 2.20
File myproj/baar is new; current revision 2.3
* -t - Shows the diff between the top two revisions of each file.
This is a handy shortcut for determining the most recent changes
to a project. This option is incompatible with -D and -r.
* -u - Prints output in unidiff format. Older versions of patch
can't handle unidiff format; therefore, don't use -u if you're
trying to generate a distributable patch file - use -c instead.
* -V (Obsolete) - CVS reports an error if you try to use this option
now. I've included it here only in case you see some old script
trying to use it.