+ # both old and new files exist
+ die "mode or type changed\n" if $oldmode ne $newmode;
+ 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$/;