summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2016-09-05 19:44:35 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2016-09-05 19:44:35 -0400
commitc5e70fa5b5bf05c7b02b3faf5bcd0b579dc85ae6 (patch)
treeb975c50d73a2cd3a21d17035bd0f70b240e42ba0
parentc24a00cd154e333f4740b186c688942e26dcba72 (diff)
parent6bf309425013eaeea1b0a02ae64f1331b1328891 (diff)
Merge branch 'master' of ssh://git-annex.branchable.com
-rw-r--r--doc/todo/transitive_transfers.mdwn77
1 files changed, 77 insertions, 0 deletions
diff --git a/doc/todo/transitive_transfers.mdwn b/doc/todo/transitive_transfers.mdwn
new file mode 100644
index 000000000..9710402f0
--- /dev/null
+++ b/doc/todo/transitive_transfers.mdwn
@@ -0,0 +1,77 @@
+I have this situation:
+
+* `marcos`: home server, canonical repository with all my files
+ (`group=backup`)
+* `angela`: laptop, with a subset of the files (`group=manual`)
+* `VHS`: backup external USB storage, should have a redundant copy of
+ all files (`group=manual`)
+
+directly connecting the external USB drive to `marcos` is annoying, so
+I usually connect it to `angela` instead, which doesn't have all the
+files.
+
+This brings up the peculiar situation that I cannot actually backup
+all the files to `VHS` from `angela`, without first copying them
+locally.
+
+I have a few issues with that:
+
+ 1. it fails silently: if I try to copy to `VHS` and the file is not on
+ `angela`, it silently fails:
+
+ [997]anarcat@angela:mp3$ git annex drop nothere
+ (recording state in git...)
+ [998]anarcat@angela:mp3$ git annex copy --to VHS nothere
+ [999]anarcat@angela:mp3$ git annex find --in VHS nothere
+ [1001]anarcat@angela:mp3$ git annex list nothere
+ here
+ |VHS
+ ||htcones
+ |||marcos
+ ||||web
+ |||||bittorrent
+ ||||||htconesdumb
+ |||||||
+ ___X___ nothere
+ [1002]anarcat@angela:mp3$
+
+ this shouldn't silently fail to copy: it should warn me that it
+ can't find a file to copy, at least.
+
+ 1. it takes up more disk space: i need to download all the missing
+ files locally before I can transfer them to `VHS`. here's the way
+ I make sure files are transfered properly on `VHS`:
+
+ git annex copy --to VHS --not --in VHS
+ git annex get --not --in VHS
+ git annex copy --to VHS --not --in VHS
+ git annex drop --not --in 'here@{yesterday}'
+
+ the latter line is expecially problematic, because it is not
+ accurate...
+
+ 1. it's slower: i need to write files locally before I can transfer
+ them. ideally, those files would be streamed, or at least I would
+ need to buffer locally only one file at a time and not the whole
+ batch.
+
+Maybe I am missing something obvious here and there are other ways of
+doing this. I am running `6.20160902+gitgbc49d8a-1~ndall+1`.
+
+I know I could setup `angela` to be in the `transfer` group, but then
+files I don't want would end up stored on `angela`: files that are
+missing from other remotes, for example. Even worse, some files I *do*
+want could be candidates for removal on `angela` because they have
+been propagated everywhere, whereas I have a select set of files
+(hence `group=manual`) that are present in `angela` that I want to
+stay there.
+
+It seems to me at least #1 above should be fixed: `copy` shouldn't
+succeed when it can't comply with the requested preferred content
+expression.
+
+Somehow, I expected this to work, and maybe that's the core issue here:
+
+ git annex copy --from marcos --to VHS nothere
+
+Thanks for considering this! -- [[anarcat]]