diff options
author | Joey Hess <joey@kitenet.net> | 2013-04-06 18:29:52 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2013-04-06 18:29:52 -0400 |
commit | 096078683033b6c500319d1880879a4b82c6c472 (patch) | |
tree | 9c196e99076444dcf1935228470fb9ad6f5b8456 /doc | |
parent | dba7d9163a9aad6699fcaf229320f9783b7e8bf3 (diff) |
better archive directory handling
Adjust preferred content expressions so that content in archive directories
is preferred until it has reached an archive or smallarchive repository.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/preferred_content.mdwn | 20 | ||||
-rw-r--r-- | doc/todo/assistant_smarter_archive_directory_handling.mdwn | 2 |
2 files changed, 14 insertions, 8 deletions
diff --git a/doc/preferred_content.mdwn b/doc/preferred_content.mdwn index f8fd29c9d..1bcdfdf07 100644 --- a/doc/preferred_content.mdwn +++ b/doc/preferred_content.mdwn @@ -86,9 +86,10 @@ any repository that can will back it up.) ### client -All content is preferred, unless it's in a "archive" directory. +All content is preferred, unless it's for a file in a "archive" directory, +which has reached an archive repository. -`(exclude=*/archive/* and exclude=archive/*) or (not copies=semitrusted+:1)` +`((exclude=*/archive/* and exclude=archive/*) or (not (copies=archive:1 or copies=smallarchive:1))) or (not copies=semitrusted+:1)` ### transfer @@ -100,7 +101,7 @@ USB drive used in a sneakernet. The preferred content expression for these causes them to get and retain data until all clients have a copy. -`(not (inallgroup=client and copies=client:2) and exclude=*/archive/* and exclude=archive/*) or (not copies=semitrusted+:1)` +`(not (inallgroup=client and copies=client:2) and ($client)` The "copies=client:2" part of the above handles the case where there is only one client repository. It makes a transfer repository @@ -152,15 +153,18 @@ data until a copy has been sent to some other repository. ### manual -This gives you full manual control over what content is stored in the +This gives you nearly full manual control over what content is stored in the repository. This allows using the [[assistant]] without it trying to keep a local copy of every file. Instead, you can manually run `git annex get`, -`git annex drop`, etc to manage content. +`git annex drop`, etc to manage content. Only content that is present +is preferred. -Only content that is present is preferred. Content in "archive" -directories is never preferred. +The exception to this manual control is that content that a client +repository would not want is not preferred. So, files in archive +directories are not preferred once their content has +reached an archive repository. -`(present and exclude=*/archive/* and exclude=archive/*) or (not copies=semitrusted+:1)` +`present and ($client)` ### unwanted diff --git a/doc/todo/assistant_smarter_archive_directory_handling.mdwn b/doc/todo/assistant_smarter_archive_directory_handling.mdwn index f464c182b..fa5a3e4fc 100644 --- a/doc/todo/assistant_smarter_archive_directory_handling.mdwn +++ b/doc/todo/assistant_smarter_archive_directory_handling.mdwn @@ -27,3 +27,5 @@ Something vaguely like this should work as the preferred content expression for the clients: exclude=archive/* or (include=archive/* and (not (copies=archive:1 or copies=smallarchive:1))) + +> [[done]] --[[Joey]] |