aboutsummaryrefslogtreecommitdiff
path: root/doc/todo/export
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2017-05-24 15:14:49 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2017-05-24 15:14:49 -0400
commit4d993b7448c69411995c3fd7887a6e21fbd1b0c3 (patch)
treeca92ede444dce90ba994ced303d25744da75c21c /doc/todo/export
parent61921f44314fda6dd7de2d6b94c824a80ec84947 (diff)
thoughts
Diffstat (limited to 'doc/todo/export')
-rw-r--r--doc/todo/export/comment_3_38e0b7bac8f2cfad492704ab6ab81e2b._comment42
1 files changed, 42 insertions, 0 deletions
diff --git a/doc/todo/export/comment_3_38e0b7bac8f2cfad492704ab6ab81e2b._comment b/doc/todo/export/comment_3_38e0b7bac8f2cfad492704ab6ab81e2b._comment
new file mode 100644
index 000000000..307ff40a7
--- /dev/null
+++ b/doc/todo/export/comment_3_38e0b7bac8f2cfad492704ab6ab81e2b._comment
@@ -0,0 +1,42 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 3"""
+ date="2017-05-24T18:59:30Z"
+ content="""
+`storeKey` could not be used for this, so it would need a new remote method
+to store a file on the remote under a specified name. Call it `storeFile`.
+
+What should `storeFile` with an encrypted special remote do? Encrypting
+the data does not seem very useful, especially for hybrid and shared
+where the secret key is embedded in the git repo. Not encrypting the data
+is surely a least surprise violation that would be a security hole.
+So probably best to not support exporting to encrypted special remotes.
+
+`git annex export --to specialremote` cannot handle incremental updates,
+resuming uploads etc, because special remotes can be so limited they only
+support putting the whole content of a file. Even resuming interrupted
+uploads is problimatic, because we don't know for sure what key was
+(partially or completely) exported before. The best that seems doable
+is to make `storeFile` avoid resending the file if the remote has the file
+on it already, and move the file into place atomically once it's all sent.
+
+Then `git annex export --to remote` could be run repeatedly to export files
+until everything gets exported.
+
+But, when a file has been modified, that would prevent the modified version
+being exported. Unless state is stored somewhere to say that the given file
+on a remote is the content of a given key.
+That state could take the form of a .git-annex/filename.exported stored
+on the remote, which contains the name of the key. When exporting a new
+key over an existing file, that would be overwritten. (Really needs to be
+done atomically..)
+
+What about deleted files? Should export somehow notice that a file
+has been deleted locally, and remove it from the remote? How?
+
+----
+
+Alternatively, leave the incremental updating, deletion etc to
+third-party tools, and have `git annex export` simply export the current
+files to a directory.
+"""]]