summaryrefslogtreecommitdiff
path: root/Assistant/Threads/Committer.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-04-24 18:04:59 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-04-24 18:04:59 -0400
commit86b579672609c9ced054eaf51b26addb38e22b64 (patch)
tree48c7dd07d92307ac5ae291fd62040fc67745b679 /Assistant/Threads/Committer.hs
parentf9e5b8ce4522e1de5b7a55391365136b34af9946 (diff)
get rid of need to run pre-commit hook when assistant commits in direct mode
That hook updates associated file bookkeeping info for direct mode. But, everything already called addAssociatedFile when adding/changing a file. It only needed to also call removeAssociatedFile when deleting a file, or a directory. This should make bulk adds faster, by some possibly significant amount. Bulk removals may be a little slower, since it has to use catKeyFile now on each removed file, but will still be faster than adds.
Diffstat (limited to 'Assistant/Threads/Committer.hs')
-rw-r--r--Assistant/Threads/Committer.hs20
1 files changed, 9 insertions, 11 deletions
diff --git a/Assistant/Threads/Committer.hs b/Assistant/Threads/Committer.hs
index 17eefd3f5..c07109489 100644
--- a/Assistant/Threads/Committer.hs
+++ b/Assistant/Threads/Committer.hs
@@ -157,23 +157,21 @@ commitStaged = do
case v of
Left _ -> return False
Right _ -> do
- direct <- isDirect
- let params = nomessage $ catMaybes
- [ Just $ Param "--quiet"
- {- In indirect mode, avoid running the
- - usual git-annex pre-commit hook;
- - watch does the same symlink fixing,
- - and we don't want to deal with unlocked
- - files in these commits. -}
- , if direct then Nothing else Just $ Param "--no-verify"
- ]
{- Empty commits may be made if tree changes cancel
- each other out, etc. Git returns nonzero on those,
- so don't propigate out commit failures. -}
void $ inRepo $ catchMaybeIO .
- Git.Command.runQuiet (Param "commit" : params)
+ Git.Command.runQuiet
+ (Param "commit" : nomessage params)
return True
where
+ params =
+ [ Param "--quiet"
+ {- Avoid running the usual pre-commit hook;
+ - the Watcher does the same symlink fixing,
+ - and direct mode bookkeeping updating. -}
+ , Param "--no-verify"
+ ]
nomessage ps
| Git.Version.older "1.7.2" =
Param "-m" : Param "autocommit" : ps