chiark / gitweb /
dgit: Pass --no-renames to git diff-tree -z, avoiding potential trouble
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 9 Jul 2017 12:54:02 +0000 (13:54 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 9 Jul 2017 12:54:51 +0000 (13:54 +0100)
Without this option, git-diff-tree might detect a rename (or possibly
even a copy).  If it does it prints a different output format with a
status of C or R *and a separate filename*.  The latter is an
additional nul-terminated record and would get dgit's interpreter of
the git diff-tree output out of step.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
debian/changelog
dgit

index 780fe23..5d78d25 100644 (file)
@@ -1,6 +1,7 @@
 dgit (3.12~) unstable; urgency=medium
 
-  * 
+  Important bugfixes to dgit:
+  * Pass --no-renames to git diff-tree -z, avoiding potential trouble.
 
  --
 
diff --git a/dgit b/dgit
index ccf5009..91172da 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -4891,7 +4891,7 @@ sub quiltify_trees_differ ($$;$$$) {
     #  a list of unrepresentable changes (removals of upstream files
     #  (as messages)
     local $/=undef;
-    my @cmd = (@git, qw(diff-tree -z));
+    my @cmd = (@git, qw(diff-tree -z --no-renames));
     push @cmd, qw(--name-only) unless $unrepres;
     push @cmd, qw(-r) if $finegrained || $unrepres;
     push @cmd, $x, $y;