diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/design/assistant/blog/day_95__repository_groups.mdwn | 21 | ||||
-rw-r--r-- | doc/design/assistant/transfer_control.mdwn | 15 | ||||
-rw-r--r-- | doc/git-annex.mdwn | 15 | ||||
-rw-r--r-- | doc/internals.mdwn | 8 |
4 files changed, 51 insertions, 8 deletions
diff --git a/doc/design/assistant/blog/day_95__repository_groups.mdwn b/doc/design/assistant/blog/day_95__repository_groups.mdwn new file mode 100644 index 000000000..5e4bc6d20 --- /dev/null +++ b/doc/design/assistant/blog/day_95__repository_groups.mdwn @@ -0,0 +1,21 @@ +Spent a lot of time this weekend thinking about/stuck on the [[cloud]] +notification problem. Currently IRC is looking like the best way for +repositories to notify one-another when changes are made, but I'm not sure +about using that, and not ready to start on it. + +Instead, laid some groundwork for [[transfer_control]] today. Added +some simple commands to manage groups of repositories, and find files +that are present in repositories in a group. I'm not completely happy +with the syntax for that, and need to think up some good syntax to specify +files that are present in *all* repositories in a group. + +The plan is to have the assistant automatically guess at groups to put new +repositories it makes in (it should be able to make good guesses), +as well as have an interface to change them, and an interface to configure +transfer control using these groups (and other ways of matching files). +And, probably, some canned transfer control recipes for common setups. + +--- + +Collected up the past week's work and made a release today. I'm probably +back to making regular releases every week or two. diff --git a/doc/design/assistant/transfer_control.mdwn b/doc/design/assistant/transfer_control.mdwn index 179ec6207..070b12246 100644 --- a/doc/design/assistant/transfer_control.mdwn +++ b/doc/design/assistant/transfer_control.mdwn @@ -31,10 +31,10 @@ It may make sense to have annex-accept info also be stored in the git-annex branch, for settings that should apply to a repo globally. Does it make sense to have local configuration too? -## repo classes +## repo groups -Seems like git-annex needs a way to know the classes of repos. Some -classes: +Seems like git-annex needs a way to know the groups of repos. Some +groups: * enduser: The user interacts with this repo directly. * archival: This repo accumulates stuff, and once it's in enough archives, @@ -43,18 +43,17 @@ classes: it does not hold data for long periods of time, and tends to have a limited size. -Add a class.log that can assign repos to these or other classes. -(Should a repo be allowed to be in multiple classes?) +Add a group.log that can assign repos to these or other groups. **done** -Some examples of using classes: +Some examples of using groups: * Want to remove content from a repo, if it's not an archival repo, and the content has reached at least one archival repo: - `(not class=archival) and (not copies=archival:1)` + `(not group=archival) and (not copies=archival:1)` That would make send to configure on all repos, or even set - a global `annex.accept` to it. + a global `annex.accept` to it. **done** * Make a cloud repo only hold data until all known clients have a copy: diff --git a/doc/git-annex.mdwn b/doc/git-annex.mdwn index c1bbb8259..5a0f0569b 100644 --- a/doc/git-annex.mdwn +++ b/doc/git-annex.mdwn @@ -248,6 +248,15 @@ subdirectories). Indicates that the repository has been irretrevably lost. (To undo, use semitrust.) +* group repository groupname + + Adds a repository to a group, such as "archival", "enduser", or "transfer". + The groupname must be a single word. + +* ungroup repository groupname + + Removes a repository from a group. + # REPOSITORY MAINTENANCE COMMANDS * fsck [path ...] @@ -616,6 +625,12 @@ file contents are present at either of two repositories. copies, on remotes with the specified trust level. For example, "--copies=trusted:2" +* --copies=groupname:number + + Matches only files that git-annex believes have the specified number of + copies, on remotes in the specified group. For example, + "--copies=archival:2" + * --inbackend=name Matches only files whose content is stored using the specified key-value diff --git a/doc/internals.mdwn b/doc/internals.mdwn index a69a747e5..26e1d2fc2 100644 --- a/doc/internals.mdwn +++ b/doc/internals.mdwn @@ -67,6 +67,14 @@ Example: Repositories not listed are semi-trusted. +## `group.log` + +Used to group repositories together. + +The file format is one line per repository, with the uuid followed by a space, +and then a space-separated list of groups this repository is part of, +and finally a timestamp. + ## `aaa/bbb/*.log` These log files record [[location_tracking]] information |