Annotation of 43BSDTahoe/man/man1/diff.1, revision 1.1

1.1     ! root        1: .\" Copyright (c) 1980 Regents of the University of California.
        !             2: .\" All rights reserved.  The Berkeley software License Agreement
        !             3: .\" specifies the terms and conditions for redistribution.
        !             4: .\"
        !             5: .\"    @(#)diff.1      6.4 (Berkeley) 5/19/86
        !             6: .\"
        !             7: .TH DIFF 1 "May 19, 1986"
        !             8: .UC 4
        !             9: .SH NAME
        !            10: diff \- differential file and directory comparator
        !            11: .SH SYNOPSIS
        !            12: .B diff
        !            13: [
        !            14: .B \-l
        !            15: ] [
        !            16: .B \-r
        !            17: ] [
        !            18: .B \-s
        !            19: ] [
        !            20: \fB\-cefhn\fR
        !            21: ] [
        !            22: .B \-biwt
        !            23: ] dir1 dir2
        !            24: .br
        !            25: .B diff
        !            26: [
        !            27: \fB\-cefhn
        !            28: ] [
        !            29: \fB\-biwt\fR
        !            30: ] file1 file2
        !            31: .br
        !            32: .B diff
        !            33: [
        !            34: .BI \-D string
        !            35: ] [
        !            36: .B \-biw
        !            37: ]
        !            38: file1 file2
        !            39: .SH DESCRIPTION
        !            40: If both arguments are directories,
        !            41: .I diff
        !            42: sorts the contents of the directories by name, and then runs the
        !            43: regular file
        !            44: .I diff
        !            45: algorithm (described below)
        !            46: on text files which are different.
        !            47: Binary files which differ,
        !            48: common subdirectories, and files which appear in only one directory
        !            49: are listed.
        !            50: Options when comparing directories are:
        !            51: .TP
        !            52: .B \-l
        !            53: long output format; each text file
        !            54: .I diff
        !            55: is piped through
        !            56: .IR pr (1)
        !            57: to paginate it,
        !            58: other differences are remembered and summarized
        !            59: after all text file differences are reported.
        !            60: .TP
        !            61: .B \-r
        !            62: causes application of
        !            63: .I diff
        !            64: recursively to common subdirectories encountered.
        !            65: .TP
        !            66: .B \-s
        !            67: causes 
        !            68: .I diff
        !            69: to report files which are the same, which are otherwise not mentioned.
        !            70: .TP
        !            71: .B \-Sname
        !            72: starts a directory
        !            73: .I diff
        !            74: in the middle beginning with file
        !            75: .I name.
        !            76: .PP
        !            77: When run on regular files, and when comparing text files which differ
        !            78: during directory comparison,
        !            79: .I diff
        !            80: tells what lines must be changed in the files to bring them into agreement.
        !            81: Except in rare circumstances,
        !            82: .I diff
        !            83: finds a smallest sufficient set of file differences.
        !            84: If neither
        !            85: .I file1
        !            86: nor
        !            87: .I file2
        !            88: is a directory, then either
        !            89: may be given as `\-', in which case the standard input is used.
        !            90: If
        !            91: .I file1
        !            92: is a directory,
        !            93: then a file in that directory whose file-name is the same as the file-name of
        !            94: .I file2
        !            95: is used (and vice versa).
        !            96: .PP
        !            97: There are several options for output format;
        !            98: the default output format contains lines of these forms:
        !            99: .IP "" 5
        !           100: .I n1
        !           101: a
        !           102: .I n3,n4
        !           103: .br
        !           104: .I n1,n2
        !           105: d
        !           106: .I n3
        !           107: .br
        !           108: .I n1,n2
        !           109: c
        !           110: .I n3,n4
        !           111: .PP
        !           112: These lines resemble
        !           113: .I ed
        !           114: commands to convert
        !           115: .I file1
        !           116: into
        !           117: .IR file2 .
        !           118: The numbers after the letters pertain to
        !           119: .IR file2 .
        !           120: In fact, by exchanging `a' for `d' and reading backward
        !           121: one may ascertain equally how to convert 
        !           122: .I file2
        !           123: into
        !           124: .IR file1 .
        !           125: As in 
        !           126: .I ed,
        !           127: identical pairs where
        !           128: .I n1
        !           129: =
        !           130: .I n2
        !           131: or
        !           132: .I n3
        !           133: =
        !           134: .I n4
        !           135: are abbreviated as a single number.
        !           136: .PP
        !           137: Following each of these lines come all the lines that are
        !           138: affected in the first file flagged by `<', 
        !           139: then all the lines that are affected in the second file
        !           140: flagged by `>'.
        !           141: .PP
        !           142: Except for
        !           143: \fB\-b, -w, -i\fP or \fB-t\fP
        !           144: which may be given with any of the others,
        !           145: the following options are mutually exclusive:
        !           146: .TP 9
        !           147: .B \-e
        !           148: produces a script of
        !           149: .I "a, c"
        !           150: and 
        !           151: .I d
        !           152: commands for the editor
        !           153: .I ed,
        !           154: which will recreate
        !           155: .I file2
        !           156: from
        !           157: .IR file1 .
        !           158: In connection with
        !           159: .BR \-e ,
        !           160: the following shell program may help maintain
        !           161: multiple versions of a file.
        !           162: Only an ancestral file ($1) and a chain of 
        !           163: version-to-version
        !           164: .I ed
        !           165: scripts ($2,$3,...) made by
        !           166: .I diff
        !           167: need be on hand.
        !           168: A `latest version' appears on
        !           169: the standard output.
        !           170: .IP
        !           171: \ \ \ \ \ \ \ \ (shift; cat $*; echo \'1,$p\') \(bv ed \- $1
        !           172: .IP
        !           173: Extra commands are added to the output when comparing directories with
        !           174: .B \-e,
        !           175: so that the result is a
        !           176: .IR sh (1)
        !           177: script for converting text files which are common to the two directories
        !           178: from their state in
        !           179: .I dir1
        !           180: to their state in
        !           181: .I dir2.
        !           182: .TP 9
        !           183: .B \-f
        !           184: produces a script similar to that of
        !           185: .B \-e,
        !           186: not useful with
        !           187: .I ed,
        !           188: and in the opposite order.
        !           189: .TP 9
        !           190: .B \-n
        !           191: produces a script similar to that of
        !           192: .B \-e,
        !           193: but in the opposite order and with a count of changed lines on each
        !           194: insert or delete command.  This is the form used by
        !           195: .IR rcsdiff (1).
        !           196: .TP 9
        !           197: .B \-c
        !           198: produces a diff with lines of context.
        !           199: The default is to present 3 lines of context and may be changed, e.g to 10, by
        !           200: .BR \-c10 \&.
        !           201: With
        !           202: .B \-c
        !           203: the output format is modified slightly:
        !           204: the output beginning with identification of the files involved and
        !           205: their creation dates and then each change is separated
        !           206: by a line with a dozen *'s.
        !           207: The lines removed from
        !           208: .I file1
        !           209: are marked with `\(mi '; those added to
        !           210: .I file2
        !           211: are marked `+ '.  Lines which are changed from one
        !           212: file to the other are marked in both files with with `! '.
        !           213: 
        !           214: Changes which lie within <context> lines of each other are grouped
        !           215: together on output.  (This is a change from the previous ``diff -c''
        !           216: but the resulting output is usually much easier to interpret.)
        !           217: .TP 9
        !           218: .B \-h
        !           219: does a fast, half-hearted job.
        !           220: It works only when changed stretches are short
        !           221: and well separated,
        !           222: but does work on files of unlimited length.
        !           223: .TP
        !           224: .B \-Dstring
        !           225: causes
        !           226: .I diff
        !           227: to create a merged version of
        !           228: .I file1
        !           229: and
        !           230: .I file2
        !           231: on the standard output, with C preprocessor controls included so that
        !           232: a compilation of the result without defining \fIstring\fR is equivalent
        !           233: to compiling
        !           234: .I file1,
        !           235: while defining
        !           236: .I string
        !           237: will yield
        !           238: .I file2.
        !           239: .TP 9
        !           240: .B \-b
        !           241: causes trailing blanks (spaces and tabs) to be ignored, and other
        !           242: strings of blanks to compare equal.
        !           243: .TP 9
        !           244: .B \-w
        !           245: is similar to
        !           246: .B \-b
        !           247: but causes whitespace (blanks and tabs) to be totally ignored.  E.g.,
        !           248: ``if\ (\ a\ ==\ b\ )'' will compare equal to ``if(a==b)''.
        !           249: .TP 9
        !           250: .B \-i
        !           251: ignores the case of letters.  E.g., ``A'' will compare equal to ``a''.
        !           252: .TP 9
        !           253: .B \-t
        !           254: will expand tabs in output lines.  Normal or
        !           255: .B \-c
        !           256: output adds character(s) to the front of each line which may screw up
        !           257: the indentation of the original source lines and make the output listing
        !           258: difficult to interpret.  This option will preserve the original source's
        !           259: indentation.
        !           260: .SH FILES
        !           261: /tmp/d?????
        !           262: .br
        !           263: /usr/lib/diffh for 
        !           264: .B \-h
        !           265: .br
        !           266: /bin/diff for directory diffs
        !           267: .br
        !           268: /bin/pr
        !           269: .SH "SEE ALSO"
        !           270: cmp(1), cc(1), comm(1), ed(1), diff3(1)
        !           271: .SH DIAGNOSTICS
        !           272: Exit status is 0 for no differences, 1 for some, 2 for trouble.
        !           273: .SH BUGS
        !           274: Editing scripts produced under the
        !           275: .BR \-e " or"
        !           276: .BR \-f " option are naive about"
        !           277: creating lines consisting of a single `\fB.\fR'.
        !           278: .PP
        !           279: When comparing directories with the
        !           280: \fB\-b, -w\fP or \fB-i\fP
        !           281: options specified,
        !           282: .I diff
        !           283: first compares the files ala
        !           284: .I cmp,
        !           285: and then decides to run the
        !           286: .I diff
        !           287: algorithm if they are not equal.
        !           288: This may cause a small amount of spurious output if the files
        !           289: then turn out to be identical because the only differences are
        !           290: insignificant blank string or case differences.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.