Jeff King <peff@xxxxxxxx> writes: > On Fri, Jan 03, 2014 at 04:12:51PM -0500, Matt Burke wrote: > >> + git init -q >> + git fetch -q -fu ../../../other '+refs/*:refs/*' >> fatal: bad object 9b985fbe6a2b783c16756077a8be261c94b6c197 >> error: ../../../other did not send all necessary objects > > 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. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html