Re: remote-helpers and refs without a value
- From
Tay Ray Chuan <rctay89@gmail.com>
- Date
- Mar 28, 2011, 07:22 UTC
- Message-ID
- <AANLkTi=cNin=XYqbAJMggWj7OcZ8=9PGCVGGg=JRO-bj@mail.gmail.com>
- In-Reply-To
- <20110327082428.GA4428@glandium.org>
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.
-- Cheers, Ray Chuan