diff options
Diffstat (limited to 'Command/PreCommit.hs')
-rw-r--r-- | Command/PreCommit.hs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/Command/PreCommit.hs b/Command/PreCommit.hs index c6d9dd278..c35cf61e1 100644 --- a/Command/PreCommit.hs +++ b/Command/PreCommit.hs @@ -16,6 +16,7 @@ import qualified Git.Ref import Annex.CatFile import Annex.Content.Direct import Git.Sha +import Git.FileMode def :: [Command] def = [command "pre-commit" paramPaths seek SectionPlumbing @@ -44,10 +45,10 @@ startDirect _ = next $ do next $ liftIO clean where go diff = do - withkey (Git.DiffTree.srcsha diff) removeAssociatedFile - withkey (Git.DiffTree.dstsha diff) addAssociatedFile + withkey (Git.DiffTree.srcsha diff) (Git.DiffTree.srcmode diff) removeAssociatedFile + withkey (Git.DiffTree.dstsha diff) (Git.DiffTree.dstmode diff) addAssociatedFile where - withkey sha a = when (sha /= nullSha) $ do + withkey sha mode a = when (sha /= nullSha && isSymLink mode) $ do k <- catKey sha case k of Nothing -> noop |