Avoid repeated location log commits when a remote is receiving files.

Done by adding a oneshot mode, in which location log changes are written to
the journal, but not committed. Taking advantage of git-annex's existing
ability to recover in this situation.

This is used by git-annex-shell and other places where changes are made to
a remote's location log.
This commit is contained in:
Joey Hess 2012-01-28 15:41:52 -04:00
parent 303666965a
commit b81d662cbf
9 changed files with 28 additions and 17 deletions

View file

@ -230,7 +230,7 @@ copyToRemote r key
-- run copy from perspective of remote
liftIO $ onLocal r $ do
ensureInitialized
Annex.Content.saveState `after`
Annex.Content.saveState True `after`
Annex.Content.getViaTmp key
(rsyncOrCopyFile params keysrc)
| Git.repoIsSsh r = do