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>
* 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
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 ($@) {
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