From: Tay Ray Chuan Date: Mon, 28 Mar 2011 07:22:57 GMT Subject: Re: remote-helpers and refs without a value Message-ID: In-Reply-To: <20110327082428.GA4428@glandium.org> Hi, On Sun, Mar 27, 2011 at 4:24 PM, Mike Hommey 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