diff options
author | 2014-01-22 15:55:44 -0400 | |
---|---|---|
committer | 2014-01-22 15:55:44 -0400 | |
commit | 9a5de318d15f0234080a6f0bd802fe073cf57334 (patch) | |
tree | df77d2f8474a4bc36b316d0ac28c5af886b9aed4 /doc/design/preferred_content.mdwn | |
parent | cc366b8241cfc3e41252ecd2624332c15da03377 (diff) |
preferred content stability analysis
Diffstat (limited to 'doc/design/preferred_content.mdwn')
-rw-r--r-- | doc/design/preferred_content.mdwn | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/doc/design/preferred_content.mdwn b/doc/design/preferred_content.mdwn new file mode 100644 index 000000000..3972b8b58 --- /dev/null +++ b/doc/design/preferred_content.mdwn @@ -0,0 +1,21 @@ +The [[preferred_content]] expressions didn't have a design document, but +it's a small non-turing complete DSL for expressing which objects a +repository prefers to contain. + +One thing that needs to be written down though is the stability analysis +that must be done of preferred content expressions. + +It's important that when a set of repositories all look at one-another's +preferred content expressions, and copy/move/drop objects to satisfy them, +they end up at a steady state. So, a given preferred content expression +should ideally evaluate to the same answer for each key, from the +perspective of each repository. + +The best way to ensure that is the case is to only use terms in preferred +content expressions that rely on state that is shared between all +repositories. So, state in the git-annex branch, or the master branch +(assuming all repositories have master checked out). + +Since git is eventually consistent, there might be disagreements about +which object belongs where, but once consistency is reached, things will +settle down. |