Subject: Re: Alternates and push

From: Jan Hudec <[email-masked]>
Date: Sun, 7 Sep 2008 20:49:22 +0200

On Sat, Sep 06, 2008 at 11:06:49 -0700, Junio C Hamano wrote:
> Theodore Tso <[email-masked]> 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 <[email-masked]>