Re: Bug report: stash in upstream caused remote fetch to fail
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jan 6, 2014, 20:17 UTC
- Message-ID
- <xmqq61pwj25q.fsf@gitster.dls.corp.google.com>
- In-Reply-To
- <20140106193625.GA27062@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 32 quoted lines
> On Mon, Jan 06, 2014 at 08:16:31AM -0800, Junio C Hamano wrote: > >> > I was going to ask you to send your repository, but I can easily >> > reproduce here. I guess people don't run into it because it's uncommon >> > to fetch the whole refs/ namespace from a non-bare repo (and bare repos >> > do not tend to have stashes). Here's a minimal reproduction recipe: >> > >> > git init repo && >> > cd repo && >> > echo content >foo && >> > git add . && >> > git commit -m foo && >> > echo more >>foo && >> > git stash && >> > git init --bare sub && >> > cd sub && >> > git fetch .. 'refs/*:refs/*' >> > >> > It looks like we are not feeding refs/stash properly to pack-objects. >> > I'll try to take a closer look later today. >> >> I looked at this in the past and I vaguely recall that we reject it >> in the for-each-ref loop with check-ref-format saying "eh, that is a >> single-level name". >> >> At that point I stopped digging, thinking it was a feature ;-) >> based on your exact observation about stash vs bare/non-bare. > > I am fine with rejecting it with a warning, but we should not then > complain that the other side did not send us the object, since we should > not be asking for it at all. I also do not see us complaining about the > funny ref anywhere. So there is definitely _a_ bug here. :)
Oh, no question about that. I was just pointing somebody who already has volunteered to take a look in a direction I recall was where the issue was ;-)
Thanks.
Show 9 quoted lines
> > I think somebody else mentioned recently that we do not handle malformed > refs consistently. I think it was: > > http://article.gmane.org/gmane.comp.version-control.git/239381 > > which might or might not be related. > > -Peff