X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=dgit;fp=dgit;h=8b9934b807c020233bc9f90d76487988460e2b30;hb=fd9881c5c24f97f7c7421db946e6f09afdb2758a;hp=dd3b31c717a60ab0562420f3fce5f3a439a8d929;hpb=73431be6826351c4b3bbd50b61848693e1646749;p=dgit.git diff --git a/dgit b/dgit index dd3b31c7..8b9934b8 100755 --- a/dgit +++ b/dgit @@ -4910,14 +4910,15 @@ sub quiltify_trees_differ ($$;$$$) { if ($unrepres) { eval { - die "not a plain file\n" - unless $newmode =~ m/^10\d{4}$/ || - $oldmode =~ m/^10\d{4}$/; + die "not a plain file or symlink\n" + unless $newmode =~ m/^(?:10|12)\d{4}$/ || + $oldmode =~ m/^(?:10|12)\d{4}$/; if ($oldmode =~ m/[^0]/ && $newmode =~ m/[^0]/) { - die "mode changed\n" if $oldmode ne $newmode; + die "mode or type changed\n" if $oldmode ne $newmode; + die "modified symlink\n" unless $newmode =~ m/^10/; } else { - die "non-default mode\n" + die "non-default mode or type\n" unless $newmode =~ m/^100644$/ || $oldmode =~ m/^100644$/; }