Junio C Hamano <gitster@xxxxxxxxx> writes: > Jeff King <peff@xxxxxxxx> 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? Continuing to mutter to myself... I am suspecting that the right solution to the issue $gmane/140066 raised may be your "dwim-ref fix in 003c6ab (dwim_ref: fix dangling symref warning, 2010-02-16) and a patch along the line of the attached (with 3deea89 reverted of course). We _might_ also want to revert 003c6ab, though it is more or less an independent issue. wt-status.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/wt-status.c b/wt-status.c index 5807fc3..1cca3aa 100644 --- a/wt-status.c +++ b/wt-status.c @@ -476,6 +476,9 @@ static void wt_status_print_submodule_summary(struct wt_status *s, int uncommitt NULL }; + if (s->is_initial && !uncommitted) + return; + sprintf(summary_limit, "%d", s->submodule_summary); snprintf(index, sizeof(index), "GIT_INDEX_FILE=%s", s->index_file); -- 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