summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2014-01-20 17:11:02 -0400
committerGravatar Joey Hess <joey@kitenet.net>2014-01-20 17:11:02 -0400
commitbe851d42f4a78fc05494e1204c5914a19b305893 (patch)
treea61c25742729179187b22b88efad7bfd5b957b13
parent6e1bc0bb44617af0792b5c18f0bb7cbad74ded9b (diff)
stability analysis
-rw-r--r--doc/todo/preferred_content_numcopies_check.mdwn22
1 files changed, 21 insertions, 1 deletions
diff --git a/doc/todo/preferred_content_numcopies_check.mdwn b/doc/todo/preferred_content_numcopies_check.mdwn
index 066f02cfb..152afe08c 100644
--- a/doc/todo/preferred_content_numcopies_check.mdwn
+++ b/doc/todo/preferred_content_numcopies_check.mdwn
@@ -56,6 +56,26 @@ Conclusion:
for a particular file. It should ignore the other ways to specify
numcopies.
* Make the repo groups that currently end with "or (not copies=semitrusted+:1)"
- to instead end with "or (not numcopiesneeded=1)"
+ to instead end with "or numcopiesneeded=1"
+
+## Stability analysis
+
+If a remote prefers eg, "blah or numcopiesneeded=1", and
+file $foo does not match blah, but needs more copies, then then the
+expression will match.
+
+So, git-annex will get $foo, adding a copy. Which means that the
+numcopiesneeded=1 will no longer match, so the file is no longer wanted
+now that it has been downloaded.
+
+Now there are two cases for what can happen:
+
+* git-annex tries to drop $foo, but fails because it cannot find enough
+ other copies
+* git-annex copies $foo to some other remote that wants it, and then
+ manages to drop $foo from the local remote.
+
+This seems ok. Files flow through repos and they act like transfer
+repos when there are not enough copies.
--[[Joey]]