diff

Compare two files using diff...

Running 'diff -c foo.C foo.C.orig', for example, will generate a listing showing differences between the two files, with surrounding context lines to orient you.


SYNOPSIS

  diff [diff opts] file1 file2...   access diff utility

DESCRIPTION

This script provides full access to the correct underlying GNU 'diff' utility. It selects the version of the command appropriate for the current platform, as identified by localdev. Refer to GNU diffutils documentation (included in the localdev distribution) for more detailed information about diff usage.

There are numerous versions of this utility available on various systems. This script provides full access to to the same recent version of the utility that is used by the localdev environment.

The currently selected localdev production and staging areas, if any, are irrelevant to this script. This script passes all options and parameters directly to the underlying utility.

DIFF DESCRIPTION

You can use the diff command to show differences between two files, or each corresponding file in two directories. diff outputs differences between files line by line in any of several formats, selectable by command line options. This set of differences is often called a diff or patch. For files that are identical, diff normally produces no output; for binary (non-text) files, diff normally reports only that they are different.

DIFF OPTIONS

 -i  --ignore-case  Consider upper- and lower-case to be the same.
 -w  --ignore-all-space        Ignore all white space.
 -b  --ignore-space-change     Ignore changes in the amount of white space.
 -B  --ignore-blank-lines      Ignore changes whose lines are all blank.
 -I RE  --ignore-matching-lines=RE  Ignore changes whose lines all
                                    match RE.
 -a  --text  Treat all files as text.

 -c  -C NUM  --context[=NUM]  Output NUM (default 2) lines of
                              copied context.
 -u  -U NUM  --unified[=NUM]  Output NUM (default 2) lines of
                              unified context.
    -NUM  Use NUM context lines.
    -L LABEL  --label LABEL  Use LABEL instead of file name.
    -p  --show-c-function  Show which C function each change is in.
    -F RE  --show-function-line=RE  Show the most recent line matching RE.

 -q  --brief            Output only whether files differ.
 -e  --ed               Output an ed script.
 -n  --rcs              Output an RCS format diff.
 -y  --side-by-side     Output in two columns.
      -w NUM  --width=NUM      Output at most NUM (default 130) characters
                               per line.
      --left-column            Output only the left column of common lines.
      --suppress-common-lines  Do not output common lines.
 -DNAME  --ifdef=NAME   Output merged file to show `#ifdef NAME' diffs.
 --GTYPE-group-format=GFMT  Similar, but format GTYPE input
                            groups with GFMT.
 --line-format=LFMT  Similar, but format all input lines with LFMT.
 --LTYPE-line-format=LFMT  Similar, but format LTYPE input lines with LFMT.
   LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'.
   GFMT may contain:
     %<  lines from FILE1
     %>  lines from FILE2
     %=  lines common to FILE1 and FILE2
     %[-][WIDTH][.[PREC]]{doxX}LETTER  printf-style spec for LETTER
       LETTERs are as follows for new group, lower case for old group:
         F  first line number
         L  last line number
         N  number of lines = L-F+1
         E  F-1
         M  L+1
   LFMT may contain:
     %L  contents of line
     %l  contents of line, excluding any trailing newline
     %[-][WIDTH][.[PREC]]{doxX}n  printf-style spec for input line number
   Either GFMT or LFMT may contain:
     %%  %
     %c'C'  the single character C
     %c'OOO'  the character with octal code OOO

 -l  --paginate     Pass the output through `pr' to paginate it.
 -t  --expand-tabs  Expand tabs to spaces in output.
 -T  --initial-tab  Make tabs line up by prepending a tab.

 -r  --recursive    Recursively compare any subdirectories found.
 -N  --new-file     Treat absent files as empty.
 -P  --unidirectional-new-file  Treat absent first files as empty.
 -s  --report-identical-files   Report when two files are the same.
 -x PAT  --exclude=PAT          Exclude files that match PAT.
 -X FILE  --exclude-from=FILE   Exclude files that match any
                                pattern in FILE.
 -S FILE  --starting-file=FILE  Start with FILE when comparing directories.

 --horizon-lines=NUM  Keep NUM lines of the common prefix and suffix.
 -d  --minimal        Try hard to find a smaller set of changes.
 -H  --speed-large-files  Assume large files and many scattered
                          small changes.

 -v  --version  Output version info.
 -h  --help     Display this usage message and exit.

If a file parameter is `-', then read standard input.