34a6db4f15
On push, first try to drop all outManifest keys listed in the current manifest file, which resumes from an interrupted push that didn't get a chance to delete those keys. The new manifest gets its outManifest populated with the keys that were in the old manifest, plus any of the keys that were unable to be dropped. Note that it would be possible for uploadManifest to skip dropping old keys at all. The old keys would get dropped on the next push. But it seems better to delete stuff immediately rather than waiting. And the extra work is limited to push and typically is small. A remote where dropKey always fails will result in an outManifest that grows longer and longer. It would be possible to check if the remote has appendonly = True and avoid populating the outManifest. Of course, an appendonly remote will grow with every git push anyway. And currently only Remote.GitLFS sets that, which can't be used as a git-remote-annex remote anyway. |
||
---|---|---|
.. | ||
GitAnnex | ||
GitAnnexShell | ||
Action.hs | ||
AnnexSetter.hs | ||
Batch.hs | ||
GitAnnex.hs | ||
GitAnnexShell.hs | ||
GitRemoteAnnex.hs | ||
GitRemoteTorAnnex.hs | ||
Option.hs | ||
Seek.hs | ||
Usage.hs |