GNU Info

Info Node: (cvsbook.info)diff

(cvsbook.info)diff


Next: edit Prev: commit Up: Commands And Options
Enter node , (file) or (file)node

diff
----

Synopsis: diff [OPTIONS] [FILES]

   * Alternate names - di, dif

   * Requires - Working copy, repository

   * Changes - Nothing

Shows the difference between two revisions (in Unix diff format).  When
invoked with no options, CVS diffs the repository base revisions against
the (possibly uncommitted) contents of the working copy.  The "base"
revisions are the latest revisions of this working copy retrieved from
the repository; note that there could be even later revisions in the
repository, if someone else committed changes but this working copy
hasn't been updated yet.  (See also Note: rdiff.)

Options:

   * -D DATE - Diffs against the latest revisions no later than DATE.
     Behaves like -r REV, except uses dates rather than revisions.
     (See -r for details.)

   * -k MODE - Expands RCS keywords in the diffs according to MODE.
     (See the section Note: Keyword Substitution (RCS Keywords) in
     this chapter for possible modes.)

   * -l - Local.  If no files were specified as arguments, this option
     diffs files in the current directory, but does not descend into
     subdirectories.

   * -R - Recursive.  This option is the opposite of -l.  This is the
     default behavior, so the only reason to specify -R is to
     counteract a -l in a .cvsrc file.

   * -r REV or -r REV1 -r REV2 - Diffs against (or between) the
     specified revisions.  With one -r option, this diffs revision REV
     against your working copy of that file (so when multiple files are
     being diffed, REV is almost always a tag).  With two -r options,
     it diffs REV1 against REV2 for each file (and the working copy is,
     therefore, irrelevant).  The two revisions can be in any order -
     REV1 does not have to be an earlier revision than REV2.  The
     output reflects the direction of change.  With no -r options, it
     shows the difference between the working file and the revision on
     which it is based.


Diff Compatibility Options

In addition to the preceding options, cvs diff also shares a number of
options with the GNU version of the standard command-line diff program.
Following is a complete list of these options, along with an explanation
of a few of the most commonly used ones. (See the GNU diff documentation
for the others.)

     -0 -1 -2 -3 -4 -5 -6 -7 -8 -9
         --binary
         --brief
         --changed-group-format=ARG
         -c
           -C NLINES
           --context[=LINES]
         -e --ed
         -t --expand-tabs
         -f --forward-ed
         --horizon-lines=ARG
         --ifdef=ARG
         -w --ignore-all-space
         -B --ignore-blank-lines
         -i --ignore-case
         -I REGEXP
            --ignore-matching-lines=REGEXP
         -h
         -b --ignore-space-change
         -T --initial-tab
         -L LABEL
           --label=LABEL
         --left-column
         -d --minimal
         -N --new-file
         --new-line-format=ARG
         --old-line-format=ARG
         --paginate
         -n --rcs
         -s --report-identical-files
         -p
         --show-c-function
         -y --side-by-side
         -F REGEXP
         --show-function-line=REGEXP
         -H --speed-large-files
         --suppress-common-lines
         -a --text
         --unchanged-group-format=ARG
         -u
           -U NLINES
           --unified[=LINES]
         -V ARG
         -W COLUMNS
           --width=COLUMNS

Following are the GNU diff options most frequently used with cvs diff.

   * -B - Ignores differences that are merely the insertion or deletion
     of blank lines (lines containing nothing but whitespace
     characters).

   * -b - Ignores differences in the amount of whitespace.  This option
     treats all whitespace sequences as being equal and ignores
     whitespace at line end.  More technically, this option collapses
     each whitespace sequence in the input to a single space and
     removes any trailing whitespace from each line, before taking the
     diff. (See also -w.)

   * -c - Shows output in context diff format, defaulting to three
     lines of context per difference (for the sake of the patch
     program, which requires at least two lines of context).

   * -C NUM - context=NUM - Like -c, but with NUM lines of context.

   * -i - Compares case insensitively.  Treats upper- and lowercase
     versions of a letter as the same.

   * -u - Shows output in unified diff format.

   * -w - Ignores all whitespace differences, even when one side of the
     input has whitespace where the other has none.  Essentially a
     stronger version of -b.



automatically generated by info2www version 1.2.2.9