Andreas Gruenbacher <agruen@xxxxxxx> wrote: > I'm still trying to find a simple and painless way of sharing the object > store among multiple repositories: the idea is to have a "parent" > repository which contains the actual object store, and a number of > "child" repositories which link to that object store. The obvious > problem is garbage collection: we can only garbage collect the parent > once it has all refs of all its children. > > One way of ensuring that is to make each child a "remote" of the parent, > and to fetch all remotes first. This works for branches, but not for > tags or for the reflog. This just feels like the wrong solution. Why can't we have a "$GIT_DIR/children" subdirectory with a symlink or file-containing-path to each child repository. Modify the fsck and gc paths to include these additional reference and reflog spaces, and that's that. Child registration is then just a matter of installing the symlink in the parent, or removing it, and gc/fsck never needs to worry about a fetch up front in order for it to be accurate. -- Shawn. -- 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