path: root/Documentation/diff-format.txt
diff options
authorJunio C Hamano <>2005-06-05 21:39:49 (GMT)
committerLinus Torvalds <>2005-06-05 22:23:57 (GMT)
commit1a93a7662d6f8c3a4f48cb9468eb494ec823f2a5 (patch)
treea4fe851a637893a2e858afc44087aaeba988bc25 /Documentation/diff-format.txt
parent4a1332d04b676a226eba5a7c1247db199d463570 (diff)
[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 <>
Diffstat (limited to 'Documentation/diff-format.txt')
1 files changed, 35 insertions, 1 deletions
diff --git a/Documentation/diff-format.txt b/Documentation/diff-format.txt
index 1d92a01..6748761 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, <path>.
+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 <mode>
+ new mode <mode>
+ deleted file mode <mode>
+ new file mode <mode>
+ copy from <path>
+ copy to <path>
+ rename from <path>
+ rename to <path>
+ similarity index <number>
+ dissimilarity index <number>