diff options
author | Joey Hess <joeyh@joeyh.name> | 2017-09-04 12:40:33 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2017-09-04 13:09:38 -0400 |
commit | 5ce97e8c736c121d53af23d7036264868a461db8 (patch) | |
tree | 1c8b180a503996be3b0ea63fc667bc564f2c3fcc /doc | |
parent | 2aea8192e1769c4acfbc130ba4d788abd5ee4539 (diff) |
implement exporttree=yes configuration
* Only export to remotes that were initialized to support it.
* Prevent storing key/value on export remotes.
* Prevent enabling exporttree=yes and encryption in the same remote.
SetupStage Enable was changed to take the old RemoteConfig.
This allowed only setting exporttree when initially setting up a
remote, and not configuring it later after stuff might already be stored
in the remote.
Went with =yes rather than =true for consistency with other parts of
git-annex. Changed docs accordingly.
This commit was supported by the NSF-funded DataLad project.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/design/exporting_trees_to_special_remotes.mdwn | 10 | ||||
-rw-r--r-- | doc/git-annex-export.mdwn | 2 | ||||
-rw-r--r-- | doc/special_remotes/directory.mdwn | 2 | ||||
-rw-r--r-- | doc/todo/export.mdwn | 7 |
4 files changed, 10 insertions, 11 deletions
diff --git a/doc/design/exporting_trees_to_special_remotes.mdwn b/doc/design/exporting_trees_to_special_remotes.mdwn index 52a68c6b4..118f12978 100644 --- a/doc/design/exporting_trees_to_special_remotes.mdwn +++ b/doc/design/exporting_trees_to_special_remotes.mdwn @@ -15,13 +15,13 @@ when they want to export a tree. (It would also be possible to drop all content from an existing special remote and reuse it, but there does not seem much benefit in doing so.) -Add a new `initremote` configuration `exporttree=true`, that cannot be +Add a new `initremote` configuration `exporttree=yes`, that cannot be changed by `enableremote`: - git annex initremote myexport type=... exporttree=true + git annex initremote myexport type=... exporttree=yes -It does not make sense to encrypt an export, so exporttree=true requires -(and can even imply) encryption=false. +It does not make sense to encrypt an export, so exporttree=yes requires +encryption=none. Note that the particular tree to export is not specified yet. This is because the tree that is exported to a special remote may change. @@ -137,7 +137,7 @@ key/value stores. The content of a file can change, and if multiple repositories can export a special remote, they can be out of sync about what files are exported to it. -Possible solution: Make exporttree=true cause the special remote to +Possible solution: Make exporttree=yes cause the special remote to be untrusted, and rely on annex.verify to catch cases where the content of a file on a special remote has changed. This would work well enough except for when the WORM or URL backend is used. So, prevent the user diff --git a/doc/git-annex-export.mdwn b/doc/git-annex-export.mdwn index 96a09dc9b..abe00f09b 100644 --- a/doc/git-annex-export.mdwn +++ b/doc/git-annex-export.mdwn @@ -15,7 +15,7 @@ keys. That is great for 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=true` +not allowed. So, 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, diff --git a/doc/special_remotes/directory.mdwn b/doc/special_remotes/directory.mdwn index e3f7f1e45..70610c66d 100644 --- a/doc/special_remotes/directory.mdwn +++ b/doc/special_remotes/directory.mdwn @@ -31,7 +31,7 @@ remote: Do not use for new remotes. It is not safe to change the chunksize setting of an existing remote. -* `exporttree` - Set to "true" to make this special remote usable +* `exporttree` - Set to "yes" to make this special remote usable by [[git-annex-export]]. It will not be usable as a general-purpose special remote. diff --git a/doc/todo/export.mdwn b/doc/todo/export.mdwn index 914febe34..828e1c55b 100644 --- a/doc/todo/export.mdwn +++ b/doc/todo/export.mdwn @@ -17,12 +17,9 @@ there need to be a new interface in supported remotes? Work is in progress. Todo list: -* Only export to remotes that were initialized to support it. -* Prevent using export remotes for key/value storage. * Use retrieveExport when getting from export remotes. + (Needs a map from key to ExportLocation) * Efficient handling of renames. -* Support export to aditional special remotes (S3 etc) -* Support export to external special remotes. * If the same content is present in two different files, export location tracking can be messed up. @@ -33,3 +30,5 @@ Work is in progress. Todo list: And, once one of the files is uploaded, the location log will say the content is present, so the pass over the tree won't try to upload the other file. (See design for a fix for this.) +* Support export to aditional special remotes (S3 etc) +* Support export to external special remotes. |