Re: remote-helpers and refs without a value
- From
Mike Hommey <mh@glandium.org>
- Date
- Mar 28, 2011, 07:50 UTC
- Message-ID
- <20110328075009.GA5115@glandium.org>
- In-Reply-To
- <AANLkTi=cNin=XYqbAJMggWj7OcZ8=9PGCVGGg=JRO-bj@mail.gmail.com>
On Mon, Mar 28, 2011 at 03:22:57PM +0800, Tay Ray Chuan wrote:
Show 18 quoted lines
> Hi, > > On Sun, Mar 27, 2011 at 4:24 PM, Mike Hommey <mh@glandium.org> wrote: > > But when the helper returns a '?' value to the list command, I don't see > > how things are supposed to be updated. It looks like the helper is > > the only one, then, to be able to update the refs. But it also doesn't > > have any way to know which refs it needs to update... > > I don't think that's right. The transport machinery (transport.c, > transport-helper.c) in git is the one who calls the shots - the > transport machinery first 1) asks for the list of refs, 2) does the > appropriate "matching" (of what refs to fetch/push), then 3) sends > this down to the remote helper. > > If the remote helper sends back a '?', the transport machinery should > be implemented to fail and die. A quick scan of transport.c does not > show this, but I assume the failure would happen at the ref matching > level, leading to failure of the whole fetch/push.
Failing wouldn't make sense. That'd mean '?' may not be used by remote-helpers, and that they'd need to grab everything from the remote before git even decides what to grab.
Mike