path: root/Documentation
diff options
authorJunio C Hamano <>2005-06-19 20:17:50 (GMT)
committerLinus Torvalds <>2005-06-20 03:13:18 (GMT)
commit366175ef8c3b1e145f4ba846e63a1dea3ec3cacc (patch)
treebb4a2e04362c038ee2f8d6b77e5bdb9f4223dfea /Documentation
parent232b75ab3d60475b19270be022a966772c25c84b (diff)
[PATCH] Rework -B output.
Patch for a completely rewritten file detected by the -B flag was shown as a pair of creation followed by deletion in earlier versions. This was an misguided attempt to make reviewing such a complete rewrite easier, and unnecessarily ended up confusing git-apply. Instead, show the entire contents of old version prefixed with '-', followed by the entire contents of new version prefixed with '+'. This gives the same easy-to-review for human consumer while keeping it a single, regular modification patch for machine consumption, something that even GNU patch can grok. Signed-off-by: Junio C Hamano <> Signed-off-by: Linus Torvalds <>
Diffstat (limited to 'Documentation')
1 files changed, 9 insertions, 0 deletions
diff --git a/Documentation/diffcore.txt b/Documentation/diffcore.txt
index 7627453..6c474d1 100644
--- a/Documentation/diffcore.txt
+++ b/Documentation/diffcore.txt
@@ -191,6 +191,15 @@ like these:
-B/60 (the same as above, since diffcore-break defautls to
+Note that earlier implementation left a broken pair as a separate
+creation and deletion patches. This was unnecessary hack and
+the latest implementation always merges all the broken pairs
+back into modifications, but the resulting patch output is
+formatted differently to still let the reviewing easier for such
+a complete rewrite by showing the entire contents of old version
+prefixed with '-', followed by the entire contents of new
+version prefixed with '+'.