Somewhat sped up git commit
of modifications to unlocked files.
Avoid git reset here too, so I no longer need to care that it's much more expensive than seems wise (but I asked the git list about that anyway). It's not necessary to reset the staged file content from the index, as the `git add` of the the symlink will replace it anyway. `git commit` of unlocked files is still slow, since git still has to shove their entire content into the index, only to have it be thrown away. So it's still better to use `git annex add`
This commit is contained in:
parent
fb259033d4
commit
038da52bdd
2 changed files with 2 additions and 11 deletions
|
@ -33,15 +33,5 @@ perform :: BackendFile -> CommandPerform
|
|||
perform pair@(file, _) = do
|
||||
ok <- doCommand $ Command.Add.start pair
|
||||
if ok
|
||||
then next $ cleanup file
|
||||
then next $ return True
|
||||
else error $ "failed to add " ++ file ++ "; canceling commit"
|
||||
|
||||
cleanup :: FilePath -> CommandCleanup
|
||||
cleanup file = do
|
||||
-- git commit will have staged the file's content;
|
||||
-- drop that and run command queued by Add.state to
|
||||
-- stage the symlink
|
||||
g <- Annex.gitRepo
|
||||
liftIO $ Git.run g "reset" [Params "-q --", File file]
|
||||
AnnexQueue.flush True
|
||||
return True
|
||||
|
|
1
debian/changelog
vendored
1
debian/changelog
vendored
|
@ -5,6 +5,7 @@ git-annex (0.20110523) UNRELEASED; urgency=low
|
|||
`git reset`, and only running `git checkout` once, even when many files
|
||||
are being locked.
|
||||
* Fix locking of files with staged changes.
|
||||
* Somewhat sped up `git commit` of modifications to unlocked files.
|
||||
|
||||
-- Joey Hess <joeyh@debian.org> Sat, 28 May 2011 22:29:37 -0400
|
||||
|
||||
|
|
Loading…
Reference in a new issue