diff options
author | 2017-09-04 16:39:56 -0400 | |
---|---|---|
committer | 2017-09-04 16:39:56 -0400 | |
commit | 0f9282d22dc773bd57f3482b79dd976316ec0467 (patch) | |
tree | f0920aab9f59dda9674a995b33936e1379bab515 /doc | |
parent | 25ed1e54abcc25f729fed016ec77a8cd049142fa (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')
-rw-r--r-- | doc/git-annex-export.mdwn | 15 | ||||
-rw-r--r-- | doc/todo/export.mdwn | 4 |
2 files changed, 14 insertions, 5 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) diff --git a/doc/todo/export.mdwn b/doc/todo/export.mdwn index 99877423b..5813cd869 100644 --- a/doc/todo/export.mdwn +++ b/doc/todo/export.mdwn @@ -17,7 +17,9 @@ there need to be a new interface in supported remotes? Work is in progress. Todo list: -* Use retrieveExport when getting from export remotes. +* `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? * Efficient handling of renames. * Support export to aditional special remotes (S3 etc) * Support export to external special remotes. |