summaryrefslogtreecommitdiff
path: root/doc/todo/branching.mdwn
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2010-11-15 14:00:28 -0400
committerGravatar Joey Hess <joey@kitenet.net>2010-11-15 14:00:28 -0400
commit40ae21c895b095409ae9af3c44ab9a6b63ea10bb (patch)
tree81b0861db7e5bf05ce0d231a3c13154b46f46f2d /doc/todo/branching.mdwn
parent0e1e32cb6b6f5fcd9e535d171c639f3c1663a6ce (diff)
this is looking more and more problimatic
Diffstat (limited to 'doc/todo/branching.mdwn')
-rw-r--r--doc/todo/branching.mdwn20
1 files changed, 20 insertions, 0 deletions
diff --git a/doc/todo/branching.mdwn b/doc/todo/branching.mdwn
index ebcc56aa6..c9707c6f9 100644
--- a/doc/todo/branching.mdwn
+++ b/doc/todo/branching.mdwn
@@ -52,6 +52,11 @@ Let's use one branch per uuid, named git-annex/$UUID.
- Per UUID branches mean that if it wants to find a file's location
amoung configured remotes, it can examine only their branches, if
desired.
+- It's important that the per-repo branches propigate beyond immediate
+ remotes. If there is a central bare repo, that means push --all. Without
+ one, it means that when repo B pulls from A, and then C pulls from B,
+ C needs to get A's branch -- which means that B should have a tracking
+ branch for A's branch.
In the branch, only one file is needed. Call it locationlog. git-annex
can cache location log changes and write them all to locationlog in
@@ -73,3 +78,18 @@ with a indication of the presense/absense of the key is found.
- It could get pretty slow when digging deeper.
- Only 3 places in git-annex will be affected by any slowdown: move --from,
get and drop.
+
+## alternate
+
+As above, but use a single git-annex branch, and keep the per-UUID
+info in their own log files. Hope that git can auto-merge as long as
+each observing repo only writes to its own files. (Well, it can, but for
+non-fast-forward merges, the git-annex branch would need to be checked out,
+which is problimatic.)
+
+Use filenames like:
+
+ <observing uuid>/<location uuid>
+
+That allows one repo to record another's state when doing a
+`move`.