chiark / gitweb /
dgit: unrepres. changes: Prepare to tolerate symlinks
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 16 Jul 2017 10:19:29 +0000 (11:19 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 16 Jul 2017 11:46:25 +0000 (12:46 +0100)
commitfd9881c5c24f97f7c7421db946e6f09afdb2758a
tree86ca1d43086ba131a25c9f02b755681536dee335
parent73431be6826351c4b3bbd50b61848693e1646749
dgit: unrepres. changes: Prepare to tolerate symlinks

Permit symlinks (which have mode 120000 in git) to make their way
through for more detailed checks.

No functional change except to error messages, because:

 * If neither thing was a symlink, then the existing regexps
   still match and the new "modified symlink" clause will not,
   so the flow is unchanged.

 * Otherwise, if both $oldmode and $newmode match [^0], ie,
   this is a modification rather than deletion or removal,
   we insist that $oldmode=$newmode, and then, fail the
   new "modified symlink" check.

 * Otherwise, we fail the check for default mode.

So in the case we are allowing to proceed further, we fail as before.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
dgit
tests/tests/unrepresentable