chiark / gitweb /
changelog: finalise 3.14, although we are not uploading now
[dgit.git] / dgit
diff --git a/dgit b/dgit
index 1f1563075bbc065d80fea603c5e5e2bb05d41631..afe209e2f16fa61cf84828b689fc9021c6ab8672 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -30,6 +30,8 @@ use File::Path;
 use File::Temp qw(tempdir);
 use File::Basename;
 use Dpkg::Version;
+use Dpkg::Compression;
+use Dpkg::Compression::Process;
 use POSIX;
 use IPC::Open2;
 use Digest::SHA;
@@ -4920,14 +4922,13 @@ sub quiltify_trees_differ ($$;$$$) {
                    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$/;
+                   die "deletion of symlink\n"
+                       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 ($@) {