aboutsummaryrefslogtreecommitdiff
path: root/doc/git-annex-export.mdwn
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2017-09-04 16:39:56 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2017-09-04 16:39:56 -0400
commit0f9282d22dc773bd57f3482b79dd976316ec0467 (patch)
treef0920aab9f59dda9674a995b33936e1379bab515 /doc/git-annex-export.mdwn
parent25ed1e54abcc25f729fed016ec77a8cd049142fa (diff)
git annex get from exports
Straightforward enough, except for the needed belt-and-suspenders sanity checks to avoid foot shooting due to exports not being key/value stores. * Even when annex.verify=false, always verify from exports. * Only get files from exports that use a backend that supports checksum verification. * Never trust exports, even if the user says to, because then `git annex drop` would drop content if the export seemed to contain a copy. This commit was supported by the NSF-funded DataLad project.
Diffstat (limited to 'doc/git-annex-export.mdwn')
-rw-r--r--doc/git-annex-export.mdwn15
1 files changed, 11 insertions, 4 deletions
diff --git a/doc/git-annex-export.mdwn b/doc/git-annex-export.mdwn
index abe00f09b..c8d8eac9a 100644
--- a/doc/git-annex-export.mdwn
+++ b/doc/git-annex-export.mdwn
@@ -11,11 +11,11 @@ git annex export `treeish --to remote`
Use this command to export a tree of files from a git-annex repository.
Normally files are stored on a git-annex special remote named by their
-keys. That is great for data storage, but your filenames are obscured.
-Exporting replicates the tree to the special remote as-is.
+keys. That is great for reliable data storage, but your filenames are
+obscured. Exporting replicates the tree to the special remote as-is.
-Mixing key/value and exports in the same remote would be a mess and so is
-not allowed. So, you have to configure a remote with `exporttree=yes`
+Mixing key/value storage and exports in the same remote would be a mess and
+so is not allowed. You have to configure a remote with `exporttree=yes`
when initially setting it up with [[git-annex-initremote]](1).
Repeated exports are done efficiently, by diffing the old and new tree,
@@ -24,6 +24,13 @@ and transferring only the changed files.
Exports can be interrupted and resumed. However, partially uploaded files
will be re-started from the beginning.
+Once content has been exported to a remote, commands like `git annex get`
+can download content from there the same as from other remotes. However,
+since an export is not a key/value store, git-annex has to do more
+verification of content downloaded from an export. Some types of keys,
+that are not based on checksums, cannot be downloaded from an export.
+And, git-annex will never trust an export to retain the content of a key.
+
# SEE ALSO
[[git-annex]](1)