summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2017-08-29 17:26:42 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2017-08-29 17:26:42 -0400
commit4e6a32bdcc682b0f02a42f892b1626eb6f80b226 (patch)
treeec712d20624b847675f9b07fc32728cc4b222019
parent6256956f4f334b2fe7318f91b6ce86c9a4192c00 (diff)
devblog
-rw-r--r--doc/design/exporting_trees_to_special_remotes.mdwn10
-rw-r--r--doc/devblog/day_466__export_prototype.mdwn6
-rw-r--r--doc/internals.mdwn15
3 files changed, 25 insertions, 6 deletions
diff --git a/doc/design/exporting_trees_to_special_remotes.mdwn b/doc/design/exporting_trees_to_special_remotes.mdwn
index 9327b475f..39c291c54 100644
--- a/doc/design/exporting_trees_to_special_remotes.mdwn
+++ b/doc/design/exporting_trees_to_special_remotes.mdwn
@@ -206,15 +206,15 @@ 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 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 that problem, add a log file `export.log` that contains the uuid
+of the remote that was exported to, and the sha1 of the exported tree.
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,
-or deleting the whole export, what can be done to resolve it?
+If `export.log` contains multiple active exports of different trees,
+there was an export conflict. Short of downloading the whole export to
+checksum it, or deleting the whole export, what can be done to resolve it?
In this case, git-annex knows both exported trees. Have the user provide
a tree that resolves the conflict as they desire (it could be the same as
diff --git a/doc/devblog/day_466__export_prototype.mdwn b/doc/devblog/day_466__export_prototype.mdwn
new file mode 100644
index 000000000..cdc1926f8
--- /dev/null
+++ b/doc/devblog/day_466__export_prototype.mdwn
@@ -0,0 +1,6 @@
+Put together a prototype of `git annex export` in the "export" branch.
+Exporting to a directory special remote is basically working, but this is
+only the beginning.
+
+Today's work was sponsored by Jake Vosloo on
+[Patreon](https://patreon.com/joeyh/)
diff --git a/doc/internals.mdwn b/doc/internals.mdwn
index 4ed8001d4..7d39b1068 100644
--- a/doc/internals.mdwn
+++ b/doc/internals.mdwn
@@ -176,10 +176,23 @@ File format is identical to preferred-content.log.
Contains standard preferred content settings for groups. (Overriding or
supplementing the ones built into git-annex.)
-The file format is one line per group, staring with a timestamp, then a
+The file format is one line per group, starting with a timestamp, then a
space, then the group name followed by a space and then the preferred
content expression.
+## `export.log`
+
+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 special remote,
+followed by the sha1 of the tree that was exported to that special remote.
+
+(The exported tree is also grafted into the git-annex branch, at
+`export.tree`, to prevent git from garbage collecting it. However, the head
+of the git-annex branch should never contain such a grafted in tree;
+the grafted tree is removed in the same commit that updates `export.log`.)
+
## `aaa/bbb/*.log`
These log files record [[location_tracking]] information