X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=dgit;h=9c7ec734e9f52c4371a31e817a3a392981c0f399;hb=f5c0d33ede8a4c8f1a45ecb57923d66bc694903d;hp=1f1563075bbc065d80fea603c5e5e2bb05d41631;hpb=a4d27ce9d75fc04b74daf8dfc93f5107c2b96778;p=dgit.git diff --git a/dgit b/dgit index 1f156307..9c7ec734 100755 --- a/dgit +++ b/dgit @@ -3913,6 +3913,7 @@ sub splitbrain_pseudomerge ($$$$) { # return $dgitview unless defined $archive_hash; + return $dgitview if deliberately_not_fast_forward(); printdebug "splitbrain_pseudomerge...\n"; @@ -4920,14 +4921,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 ($@) {