change export.log format to support multiple export remotes
This breaks backwards compatibility, but only with unreleased versions of git-annex, which I think is acceptable. This commit was supported by the NSF-funded DataLad project.
This commit is contained in:
parent
301c959edf
commit
c8ed941a26
3 changed files with 70 additions and 49 deletions
|
@ -186,20 +186,22 @@ Tracks what trees have been exported to special remotes by
|
|||
[[git-annex-export]](1).
|
||||
|
||||
Each line starts with a timestamp, then the uuid of the repository
|
||||
that exported to the special remote, followed by the sha1 of the tree
|
||||
that was exported, and then by the uuid of the special remote.
|
||||
that exported to the special remote, followed by a colon (`:`) and
|
||||
the uuid of the special remote. Then, separated by a spaces,
|
||||
the sha1 of the tree that was exported, and optionally any number of
|
||||
subsequent sha1s, of trees that have started to be exported but whose
|
||||
export is not yet complete.
|
||||
|
||||
There can also be subsequent sha1s, of trees that have started to be
|
||||
exported but whose export is not yet complete. The sha1 of the exported
|
||||
tree can be the empty tree (4b825dc642cb6eb9a060e54bf8d69288fbee4904)
|
||||
in order to record the beginning of the first export.
|
||||
In order to record the beginning of the first export, where nothing
|
||||
has been exported yet, the sha1 of the exported tree can be
|
||||
the empty tree (4b825dc642cb6eb9a060e54bf8d69288fbee4904).
|
||||
|
||||
For example:
|
||||
|
||||
1317929100.012345s e605dca6-446a-11e0-8b2a-002170d25c55 4b825dc642cb6eb9a060e54bf8d69288fbee4904 26339d22-446b-11e0-9101-002170d25c55 bb08b1abd207aeecccbc7060e523b011d80cb35b
|
||||
1317929100.012345s e605dca6-446a-11e0-8b2a-002170d25c55 bb08b1abd207aeecccbc7060e523b011d80cb35b 26339d22-446b-11e0-9101-002170d25c55
|
||||
1317929189.157237s e605dca6-446a-11e0-8b2a-002170d25c55 bb08b1abd207aeecccbc7060e523b011d80cb35b 26339d22-446b-11e0-9101-002170d25c55 7c7af825782b7c8706039b855c72709993542be4
|
||||
1317923000.251111s e605dca6-446a-11e0-8b2a-002170d25c55 7c7af825782b7c8706039b855c72709993542be4 26339d22-446b-11e0-9101-002170d25c55
|
||||
1317929100.012345s e605dca6-446a-11e0-8b2a-002170d25c55:26339d22-446b-11e0-9101-002170d25c55 4b825dc642cb6eb9a060e54bf8d69288fbee4904 bb08b1abd207aeecccbc7060e523b011d80cb35b
|
||||
1317929100.012345s e605dca6-446a-11e0-8b2a-002170d25c55:26339d22-446b-11e0-9101-002170d25c55 bb08b1abd207aeecccbc7060e523b011d80cb35b
|
||||
1317929189.157237s e605dca6-446a-11e0-8b2a-002170d25c55:26339d22-446b-11e0-9101-002170d25c55 bb08b1abd207aeecccbc7060e523b011d80cb35b 7c7af825782b7c8706039b855c72709993542be4
|
||||
1317923000.251111s e605dca6-446a-11e0-8b2a-002170d25c55:26339d22-446b-11e0-9101-002170d25c55 7c7af825782b7c8706039b855c72709993542be4
|
||||
|
||||
(The trees are also grafted into the git-annex branch, at
|
||||
`export.tree`, to prevent git from garbage collecting it. However, the head
|
||||
|
|
|
@ -17,9 +17,7 @@ there need to be a new interface in supported remotes?
|
|||
|
||||
Work is in progress. Todo list:
|
||||
|
||||
* The export.log parsing only works right when there's one export
|
||||
remote. With 2, only the most recently exported to one is gotten from the
|
||||
log.
|
||||
* Compact the export.log to remove old entries.
|
||||
* `git annex get --from export` works in the repo that exported to it,
|
||||
but in another repo, the export db won't be populated, so it won't work.
|
||||
Maybe just show a useful error message in this case?
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue