diff options
author | Joey Hess <joeyh@joeyh.name> | 2017-07-11 16:31:30 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2017-07-11 16:31:30 -0400 |
commit | cbe77cb87e1224fd88d4eabf00122e0ef48ba670 (patch) | |
tree | 0a33323a447ba353a81e18e810c690a715f8c689 /doc/design | |
parent | d5243306e2fb52dcdcee14a925f32a2b0abde920 (diff) |
improve
Diffstat (limited to 'doc/design')
-rw-r--r-- | doc/design/exporting_trees_to_special_remotes.mdwn | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/doc/design/exporting_trees_to_special_remotes.mdwn b/doc/design/exporting_trees_to_special_remotes.mdwn index 6ded07b6a..5864e2182 100644 --- a/doc/design/exporting_trees_to_special_remotes.mdwn +++ b/doc/design/exporting_trees_to_special_remotes.mdwn @@ -156,14 +156,13 @@ but clocks vary too much to trust it. Also, if the exported tree is grafted in to the git-annex branch, there would be a merge conflict. Union merging would *scramble* the exported tree, so even if a smart merge is added, old versions of git-annex would -corrupt the exported tree. To avoid this problem, add a log file -`exported/uuid.log` that lists the sha1 of the exported tree and the uuid -of the repository that exported it. Still graft in the exported tree at -`exported/uuid/` (so it gets transferred to remotes and is not GCed). -When looking up the exported tree, read the sha1 from the log file, -and use it rather than what's currently grafted into the git-annex branch. -(Old versions of git-annex would still union merge the exported tree, -and the resulting junk would waste some space.) +corrupt the exported tree. + +To avoid that problem, add a log file `exported/uuid.log` that lists +the sha1 of the exported tree and the uuid of the repository that exported it. +To avoid the exported tree being GCed, do graft it in to the git-annex +branch, but follow that with a commit that removes the tree again, +and only update `refs/heads/git-annex` after making both commits. If `exported/uuid.log` contains multiple active exports, there was an export conflict. Short of downloading the whole export to checksum it, |