aboutsummaryrefslogtreecommitdiff
path: root/Documentation/diff-format.txt
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-06-05 14:39:49 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-05 15:23:57 -0700
commit1a93a7662d6f8c3a4f48cb9468eb494ec823f2a5 (patch)
treea4fe851a637893a2e858afc44087aaeba988bc25 /Documentation/diff-format.txt
parent4a1332d04b676a226eba5a7c1247db199d463570 (diff)
downloadgit-1a93a7662d6f8c3a4f48cb9468eb494ec823f2a5.tar.gz
git-1a93a7662d6f8c3a4f48cb9468eb494ec823f2a5.tar.xz
[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 <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'Documentation/diff-format.txt')
-rw-r--r--Documentation/diff-format.txt36
1 files changed, 35 insertions, 1 deletions
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, <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>