On Sat, Sep 06, 2008 at 11:06:49 -0700, Junio C Hamano wrote: > Theodore Tso <tytso@xxxxxxx> writes: > > > Long-standing mis-feature in git's logic in deciding what to push. > > It's been reported a few times, but apparently it's hard to fix, or at > > least it never hsa been fixed as far as I know. > > This comes from an early (mis)design of git. > [...] > * The existing alternates mechanism is not about alternate repositories. > It is about alternate object stores. That is why each line of this > file points at "objects" directory elsewhere, not the ".git" directory > that is typically at one level above that "objects" directory. > > The fact your repository's object store points at the object store that > happens to be inside Linus's repository does not imply that Linus's > object store is associated with refs in Linus's repository in any way > (that's the early _mis_design part). Why is this a *mis*design? Couldn't push be fixed by redesigning it's protocol along the lines of: - clients sends a list of sha1s it wants to push, from the tip down - server stops it when it sees an object it has -- this check can be done against the object store without having a ref for it. Regards, Jan -- Jan 'Bulb' Hudec <bulb@xxxxxx> -- 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