From: Ian Jackson Date: Sun, 16 Jul 2017 10:26:32 +0000 (+0100) Subject: dgit: unrepres. changes: Separate out creation and deletion X-Git-Tag: archive/debian/3.12~5 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=a4d27ce9d75fc04b74daf8dfc93f5107c2b96778;p=dgit.git dgit: unrepres. changes: Separate out creation and deletion We are going to want to handle these cases separately because the behaviour of dpkg-source is different. In this commit, simply clone the existing code (and add a few comments), so no functional change. Signed-off-by: Ian Jackson --- diff --git a/dgit b/dgit index 8b9934b8..1f156307 100755 --- a/dgit +++ b/dgit @@ -4915,9 +4915,16 @@ sub quiltify_trees_differ ($$;$$$) { $oldmode =~ m/^(?:10|12)\d{4}$/; if ($oldmode =~ m/[^0]/ && $newmode =~ m/[^0]/) { + # both old and new files exist die "mode or type changed\n" if $oldmode ne $newmode; die "modified symlink\n" unless $newmode =~ m/^10/; + } elsif ($oldmode =~ m/[^0]/) { + # deletion + die "non-default mode or type\n" + unless $newmode =~ m/^100644$/ || + $oldmode =~ m/^100644$/; } else { + # creation die "non-default mode or type\n" unless $newmode =~ m/^100644$/ || $oldmode =~ m/^100644$/;