summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-05-23 21:55:33 (GMT)
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-05-23 23:23:10 (GMT)
commitb6d8f309d9bbd8193d9b73eb41c6fcdaa8001298 (patch)
tree8c15995be05c108072397d41d0454d6737509f7b /Documentation
parenta4acb0eb140d80141ac564a09219a10c3ab76449 (diff)
downloadgit-b6d8f309d9bbd8193d9b73eb41c6fcdaa8001298.zip
git-b6d8f309d9bbd8193d9b73eb41c6fcdaa8001298.tar.gz
git-b6d8f309d9bbd8193d9b73eb41c6fcdaa8001298.tar.bz2
[PATCH] diff-raw format update take #2.
This changes the diff-raw format again, following the mailing list discussion. The new format explicitly expresses which one is a rename and which one is a copy. The documentation and tests are updated to match this change. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/diff-format.txt42
-rw-r--r--Documentation/git-diff-helper.txt18
2 files changed, 25 insertions, 35 deletions
diff --git a/Documentation/diff-format.txt b/Documentation/diff-format.txt
index 7e9a515..f85a605 100644
--- a/Documentation/diff-format.txt
+++ b/Documentation/diff-format.txt
@@ -19,28 +19,34 @@ git-diff-files [<pattern>...]::
An output line is formatted this way:
- ':' <mode> ' ' <mode> ' ' <sha1> ' ' <sha1> I <path> I <path> L
-
-By default, I and L are '\t' and '\n' respectively. When '-z'
-flag is in effect, both I and L are '\0'.
-
-In each <mode>, <sha1> and <path> pair, left hand side describes
-the left hand side of what is being compared (<tree-ish> in
-git-diff-cache, <tree-ish-1> in git-diff-tree, cache contents in
-git-diff-files). Non-existence is shown by having 000000 in the
-<mode> column. That is, 000000 appears as the first <mode> for
-newly created files, and as the second <mode> for deleted files.
-
-Usually two <path> are the same. When rename/copy detection is
-used, however, an "create" and another "delete" records can be
-merged into a single record that has two <path>, old name and
-new name.
+in-place edit :100644 100644 bcd1234... 0123456... M file0
+copy-edit :100644 100644 abcd123... 1234567... C68 file1 file2
+rename-edit :100644 100644 abcd123... 1234567... R86 file1 file3
+create :000000 100644 0000000... 1234567... N file4
+delete :100644 000000 1234567... 0000000... D file5
+unmerged :000000 000000 0000000... 0000000... U file6
+
+That is, from the left to the right:
+
+ (1) a colon.
+ (2) mode for "src"; 000000 if creation or unmerged.
+ (3) a space.
+ (4) mode for "dst"; 000000 if deletion or unmerged.
+ (5) a space.
+ (6) sha1 for "src"; 0{40} if creation or unmerged.
+ (7) a space.
+ (8) sha1 for "dst"; 0{40} if creation, unmerged or "look at work tree".
+ (9) status, followed by similarlity index number only for C and R.
+ (10) a tab or a NUL when '-z' option is used.
+ (11) path for "src"
+ (12) a tab or a NUL when '-z' option is used; only exists for C or R.
+ (13) path for "dst"; only exists for C or R.
+ (14) an LF or a NUL when '-z' option is used, to terminate the record.
<sha1> is shown as all 0's if new is a file on the filesystem
and it is out of sync with the cache. Example:
- :100644 100644 5be4a4...... 000000...... file.c file.c
-
+ :100644 100644 5be4a4...... 000000...... M file.c
Generating patches with -p
--------------------------
diff --git a/Documentation/git-diff-helper.txt b/Documentation/git-diff-helper.txt
index 2036c6c..90342c9 100644
--- a/Documentation/git-diff-helper.txt
+++ b/Documentation/git-diff-helper.txt
@@ -9,7 +9,7 @@ git-diff-helper - Generates patch format output for git-diff-*
SYNOPSIS
--------
-'git-diff-helper' [-z] [-R] [-M] [-C] [-S<string>]
+'git-diff-helper' [-z] [-S<string>]
DESCRIPTION
-----------
@@ -21,22 +21,6 @@ OPTIONS
-z::
\0 line termination on input
--R::
- Output diff in reverse. This is useful for displaying output from
- "git-diff-cache" which always compares tree with cache or working
- file. E.g.
-
- git-diff-cache <tree> | git-diff-helper -R file.c
-
- would show a diff to bring the working file back to what
- is in the <tree>.
-
--M::
- Detect renames.
-
--C::
- Detect copies as well as renames.
-
-S<string>::
Look for differences that contains the change in <string>.