Michael Haggerty <mhagger@xxxxxxxxxxxx> writes: > On 06/01/2016 09:39 PM, Junio C Hamano wrote: >> ... > I think I would represent the logical store of a worktree repo as > follows. First, ... > ... >> Up to this point, I am all for your "separate physical stores are >> composited to give a logical view". I can see how multi-worktree >> world view fits within that framework. >> >> * With pluggable ref backend, we may gain yet another "physical >> reference store" possibility, e.g. one backed by lmdb. If it >> supports symrefs, a repoitory may use lmdb backed reference store >> without the traditional two. >> >> But it is unclear how it would interact with the multi-worktree >> world order. > > Since you could plug-and-play different ref_stores in the above scheme, > I don't see any problem here. > > def get_logical_ref_store() { > local_ref_store = get_local_ref_store(git_dir) > if (is_linked_repo) { > common_ref_store = get_ref_store(common_dir) > return worktree_ref_store(local_ref_store, > common_ref_store) > } else { > return local_ref_store; > } > } > > get_ref_store() would read the git config to decide what the ref store > to use for the specified repository, which itself might be an > lmdb_ref_store or an overlay_ref_store(loose_ref_store, packed_ref_store). Sounds all sensible. Thanks. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html