From: Junio C Hamano Date: Sun, 5 Jun 2005 21:39:49 +0000 (-0700) Subject: [PATCH] Documentation: describe git extended diff headers. X-Git-Tag: v0.99~355 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=1a93a7662d6f8c3a4f48cb9468eb494ec823f2a5;p=git.git [PATCH] Documentation: describe git extended diff headers. The documentation failed to describe "diff --git" extended diff headers, so add some. Signed-off-by: Junio C Hamano Signed-off-by: Linus Torvalds --- diff --git a/Documentation/diff-format.txt b/Documentation/diff-format.txt index 1d92a01a0..6748761ef 100644 --- a/Documentation/diff-format.txt +++ b/Documentation/diff-format.txt @@ -52,7 +52,7 @@ Generating patches with -p -------------------------- When "git-diff-cache", "git-diff-tree", or "git-diff-files" are run -with a '-p' option, they do not produce the output described above +with a '-p' option, they do not produce the output described above; instead they produce a patch file. The patch generation can be customized at two levels. This @@ -98,3 +98,37 @@ temporary file --- it is removed when 'GIT_EXTERNAL_DIFF' exits. For a path that is unmerged, 'GIT_EXTERNAL_DIFF' is called with 1 parameter, . + + +Git specific extention to diff format +------------------------------------- + +What -p option produces is slightly different from the +traditional diff format. + + (1) It is preceeded with a "git diff" header, that looks like + this: + + diff --git a/file1 b/file2 + + The a/ and b/ filenames are the same unless rename/copy is + involved. Especially, even for a creation or a deletion, + /dev/null is _not_ used in place of a/ or b/ filename. + + When rename/copy is involved, file1 and file2 shows the + name of the source file of the rename/copy and the name of + the file that rename/copy produces, respectively. + + (2) It is followed by extended header lines that are one or + more of: + + old mode + new mode + deleted file mode + new file mode + copy from + copy to + rename from + rename to + similarity index + dissimilarity index