diffutils: Detailed Context
2.2.1.3 Detailed Description of Context Format
..............................................
The context output format starts with a two-line header, which looks
like this:
*** FROM-FILE FROM-FILE-MODIFICATION-TIME
--- TO-FILE TO-FILE-MODIFICATION TIME
The timestamp normally looks like '2002-02-21 23:30:39.942229878 -0800'
to indicate the date, time with fractional seconds, and time zone in
Internet RFC 2822 format (ftp://ftp.isi.edu/in-notes/rfc2822.txt). (The
fractional seconds are omitted on hosts that do not support fractional
timestamps.) However, a traditional timestamp like 'Thu Feb 21 23:30:39
2002' is used if the 'LC_TIME' locale category is either 'C' or 'POSIX'.
You can change the header's content with the '--label=LABEL' option;
see ⇒Alternate Names.
Next come one or more hunks of differences; each hunk shows one area
where the files differ. Context format hunks look like this:
***************
*** FROM-FILE-LINE-NUMBERS ****
FROM-FILE-LINE
FROM-FILE-LINE...
--- TO-FILE-LINE-NUMBERS ----
TO-FILE-LINE
TO-FILE-LINE...
If a hunk contains two or more lines, its line numbers look like
'START,END'. Otherwise only its end line number appears. An empty hunk
is considered to end at the line that precedes the hunk.
The lines of context around the lines that differ start with two
space characters. The lines that differ between the two files start
with one of the following indicator characters, followed by a space
character:
'!'
A line that is part of a group of one or more lines that changed
between the two files. There is a corresponding group of lines
marked with '!' in the part of this hunk for the other file.
'+'
An "inserted" line in the second file that corresponds to nothing
in the first file.
'-'
A "deleted" line in the first file that corresponds to nothing in
the second file.
If all of the changes in a hunk are insertions, the lines of
FROM-FILE are omitted. If all of the changes are deletions, the lines
of TO-FILE are omitted.