From: Junio C Hamano Date: Wed, 03 Mar 2010 21:04:37 GMT Subject: Re: Latest master failing t7401 submodule tests Message-ID: <7v3a0hktga.fsf@alter.siamese.dyndns.org> In-Reply-To: <20100303204257.GA5501@coredump.intra.peff.net> Jeff King writes: >> - "git submodule summary path...", defaults to HEAD which is _not_ unborn >> (we shouldn't shift). > > I don't think this is a problem. We do: > > git rev-parse -q --verify --default HEAD path > > and it correctly reports failure, so we never do the problematic shift. Stepping back a bit, why do we even special case an unborn branch case in the first place? rm -fr one && git init one && cd one && git diff HEAD would diagnose it as an error (we may want to sugarcoat "ambiguous argument" error message, but that is a tangent). I may be able to buy "status/diff internally calls submodule summary, and that codepath needs to special case a submodule on an unborn branch _for such and such reasons_" if the reasoning is sound, but even if that is the case, shouldn't that special case be triggered explicitly by the caller of "submodule summary" with an option?