summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2017-07-16 11:41:14 +0100
committerIan Jackson <ijackson@chiark.greenend.org.uk>2017-07-16 12:47:31 +0100
commitc3db904b1de5630bd90655563f341d22e22986bc (patch)
tree0f93ef20b6c5f0da056c91268737ae20d3645ca8
parent242ba73109ae30e7d8849b01f0c668b87d4f4d63 (diff)
dgit: unrepres. changes: Tolerate creation of symlinks
Experimentally, dpkg-source on stretch will create patches to create new symlinks. (It will fail on attempts to modify existing symlinks and it ignores attempts to change plain file executability.) Implementation: add an alternative which tolerates the git symlink mode. This replaces the check on $oldmode, which in this context we know is all 0s and can therefore never match. While we're here, change the error message. Closes:#857382. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
-rw-r--r--debian/changelog1
-rwxr-xr-xdgit6
-rwxr-xr-xtests/tests/unrepresentable2
3 files changed, 5 insertions, 4 deletions
diff --git a/debian/changelog b/debian/changelog
index 478ad5f..aaaee20 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -9,6 +9,7 @@ dgit (3.12~) unstable; urgency=medium
* dgit import: Right error message for missing files in ..
* dgit import: Avoid making broken symlinks in ..
* quilt fixup: Tolerate deletion of executable files.
+ * quilt fixup: Tolerate symlink creation (make patches). Closes:#857382.
Important bugfixes to other components:
* dgit-repos-server: Do not reject commits with no author/committer
diff --git a/dgit b/dgit
index d1bf213..42647ce 100755
--- a/dgit
+++ b/dgit
@@ -4924,9 +4924,9 @@ sub quiltify_trees_differ ($$;$$$) {
unless $oldmode =~ m/^10/;
} else {
# creation
- die "non-default mode or type\n"
- unless $newmode =~ m/^100644$/ ||
- $oldmode =~ m/^100644$/;
+ die "creation with non-default mode\n"
+ unless $newmode =~ m/^100644$/ or
+ $newmode =~ m/^120000$/;
}
};
if ($@) {
diff --git a/tests/tests/unrepresentable b/tests/tests/unrepresentable
index 80b5a05..89df719 100755
--- a/tests/tests/unrepresentable
+++ b/tests/tests/unrepresentable
@@ -44,7 +44,7 @@ badly-1 src.c 'mode or type changed'
git add src.c
badly-2
-badly-1 new 'non-default mode'
+badly-1 new 'creation with non-default mode'
echo hi >new
chmod 755 new
git add new