This was originally added so that unannex could prevent the hook from
running while files were in a state that the hook would interpret as
old-style unlocked and so would lock.
Now that's gone, so the only thing the hook was preventing was two
pre-commit processes running simulantaneously. But such concurrency
is normal in git-annex and should not be a problem.
Does mean that .git/hooks/pre-commit-annex might run more concurrently,
that seems the only risk of it causing any problems.
gitAnnexJournalDir',
gitAnnexJournalLock,
gitAnnexGitQueueLock,
- gitAnnexPreCommitLock,
gitAnnexMergeLock,
gitAnnexIndex,
gitAnnexIndexStatus,
gitAnnexGitQueueLock :: Git.Repo -> FilePath
gitAnnexGitQueueLock r = fromRawFilePath $ gitAnnexDir r P.</> "gitqueue.lck"
-{- Lock file for the pre-commit hook. -}
-gitAnnexPreCommitLock :: Git.Repo -> FilePath
-gitAnnexPreCommitLock r = fromRawFilePath $ gitAnnexDir r P.</> "precommit.lck"
-
{- Lock file for direct mode merge. -}
gitAnnexMergeLock :: Git.Repo -> FilePath
gitAnnexMergeLock r = fromRawFilePath $ gitAnnexDir r P.</> "merge.lck"
(withParams seek)
seek :: CmdParams -> CommandSeek
-seek ps = lockPreCommitHook $ do
+seek ps = do
l <- workTreeItems ps
-- fix symlinks to files being committed
flip withFilesToBeCommitted l $ \f -> commandAction $
showset v
| isSet v = "+"
| otherwise = "-"
-
-{- Takes exclusive lock; blocks until available. -}
-lockPreCommitHook :: Annex a -> Annex a
-lockPreCommitHook = withExclusiveLock gitAnnexPreCommitLock