DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(diff.info.gz) Comparing Directories

Info Catalog (diff.info.gz) Incomplete Lines (diff.info.gz) Top (diff.info.gz) Adjusting Output
 
 Comparing Directories
 *********************
 
    You can use `diff' to compare some or all of the files in two
 directory trees.  When both file name arguments to `diff' are
 directories, it compares each file that is contained in both
 directories, examining file names in alphabetical order as specified by
 the `LC_COLLATE' locale category.  Normally `diff' is silent about
 pairs of files that contain no differences, but if you use the `-s' or
 `--report-identical-files' option, it reports pairs of identical files.
 Normally `diff' reports subdirectories common to both directories
 without comparing subdirectories' files, but if you use the `-r' or
 `--recursive' option, it compares every corresponding pair of files in
 the directory trees, as many levels deep as they go.
 
    For file names that are in only one of the directories, `diff'
 normally does not show the contents of the file that exists; it reports
 only that the file exists in that directory and not in the other.  You
 can make `diff' act as though the file existed but was empty in the
 other directory, so that it outputs the entire contents of the file that
 actually exists.  (It is output as either an insertion or a deletion,
 depending on whether it is in the first or the second directory given.)
 To do this, use the `-N' or `--new-file' option.
 
    If the older directory contains one or more large files that are not
 in the newer directory, you can make the patch smaller by using the
 `--unidirectional-new-file' option instead of `-N'.  This option is
 like `-N' except that it only inserts the contents of files that appear
 in the second directory but not the first (that is, files that were
 added).  At the top of the patch, write instructions for the user
 applying the patch to remove the files that were deleted before
 applying the patch.   Making Patches, for more discussion of
 making patches for distribution.
 
    To ignore some files while comparing directories, use the `-x
 PATTERN' or `--exclude=PATTERN' option.  This option ignores any files
 or subdirectories whose base names match the shell pattern PATTERN.
 Unlike in the shell, a period at the start of the base of a file name
 matches a wildcard at the start of a pattern.  You should enclose
 PATTERN in quotes so that the shell does not expand it.  For example,
 the option `-x '*.[ao]'' ignores any file whose name ends with `.a' or
 `.o'.
 
    This option accumulates if you specify it more than once.  For
 example, using the options `-x 'RCS' -x '*,v'' ignores any file or
 subdirectory whose base name is `RCS' or ends with `,v'.
 
    If you need to give this option many times, you can instead put the
 patterns in a file, one pattern per line, and use the `-X FILE' or
 `--exclude-from=FILE' option.
 
    If you have been comparing two directories and stopped partway
 through, later you might want to continue where you left off.  You can
 do this by using the `-S FILE' or `--starting-file=FILE' option.  This
 compares only the file FILE and all alphabetically later files in the
 topmost directory level.
 
    If two directories differ only in that file names are lower case in
 one directory and upper case in the upper, `diff' normally reports many
 differences because it compares file names in a case sensitive way.
 With the `--ignore-file-name-case' option, `diff' ignores case
 differences in file names, so that for example the contents of the file
 `Tao' in one directory are compared to the contents of the file `TAO'
 in the other.  The `--no-ignore-file-name-case' option cancels the
 effect of the `--ignore-file-name-case' option, reverting to the default
 behavior.
 
    If an `-x PATTERN', `--exclude=PATTERN', `-X FILE', or
 `--exclude-from=FILE' option is specified while the
 `--ignore-file-name-case' option is in effect, case is ignored when
 excluding file names matching the specified patterns.
 
Info Catalog (diff.info.gz) Incomplete Lines (diff.info.gz) Top (diff.info.gz) Adjusting Output
automatically generated byinfo2html