standard preferred content settings for client, transfer, backup, and archive repositories

I've designed these to work well together, I hope. If I get it wrong,
I can just change the code in one place, since these expressions
won't be stored in the git-annex branch.
This commit is contained in:
Joey Hess 2012-10-10 13:52:24 -04:00
parent b6ce003843
commit 0c88d9395d
3 changed files with 84 additions and 13 deletions

View file

@ -28,10 +28,52 @@ The equivilant preferred content expression looks like this:
So, just remove the dashes, basically.
## file matching
Note that while --include and --exclude match files relative to the current
directory, preferred content expressions always match files relative to the
top of the git repository. Perhaps you put files into `out/` directories
top of the git repository. Perhaps you put files into `archive` directories
when you're done with them. Then you could configure your laptop to prefer
to not retain those files, like this:
exclude=*/out/*
exclude=*/archive/*
## standard expressions
git-annex comes with some standard preferred content expressions, that can
be used with repositories that are in some pre-defined groups. To make a
repository use one of these, just set its preferred content expression
to "standard", and put it in one of these groups:
### client
All content is preferred, unless it's in a "archive" directory.
`exclude=*/archive/*`
### transfer
Use for repositories that are used to transfer data between other
repositories, but do not need to retain data themselves. For
example, a repository on a server, or in the cloud, or a small
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 exclude=*/archive/*`
### archive
All content is preferred, unless it's already been archived somewhere else.
`not copies=archive:1`
Note that if you want to archive multiple copies (not a bad idea!),
you should instead configure all your archive repositories with a
version of the above preferred content expression with a larger
number of copies.
### backup
All content is preferred.