Jeff King <peff@xxxxxxxx> writes: > On Thu, Sep 18, 2008 at 09:31:24AM -0700, Anatol Pomozov wrote: > >> > Can you think of any other cases? >> >> git log?? >> >> git log --root for empty repo should not print anything (instead of >> error message that we have now). > > I'm not sure that's the same as "--root", though. In existing --root > cases, we are saying "pretend that beyond the initial commit, there is a > commit that contains the empty tree". The logical extension of git-log > here would be to print out that commit. I would say: (1) A user getting an error message from "git init && git log" may be annoyed, but he very well knows there is no history yet _anyway_. This initial annoyance will pass immediately after creating any commit, so I do not think it is a big issue. "bad default revision 'HEAD'" is a cryptic way to give that indicaion that can be improved but that is a separate issue. Rewording it so that it explains the situation better in user's terms would be a worthy improvement. (2) "--root" is about "do we show a creation event as a huge diff from emptyness?". Yes, we turn it on for "git log" but it does not have anything to do with the issue of yet to be born branch, where there isn't even a big creation event yet. I am reluctant to agree with the opinion that "git log" should be _silent_ in a world without any history. Perhaps something like this would be a good compromise? I dunno. builtin-log.c | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-) diff --git c/builtin-log.c w/builtin-log.c index 081e660..881324c 100644 --- c/builtin-log.c +++ w/builtin-log.c @@ -42,7 +42,14 @@ static void cmd_log_init(int argc, const char **argv, const char *prefix, if (default_date_mode) rev->date_mode = parse_date_format(default_date_mode); - argc = setup_revisions(argc, argv, rev, "HEAD"); + argc = setup_revisions(argc, argv, rev, NULL); + if (!rev->pending.nr) { + add_head_to_pending(rev); + if (!rev->pending.nr) { + printf("No commits (yet).\n"); + exit(0); + } + } if (rev->diffopt.pickaxe || rev->diffopt.filter) rev->always_show_header = 0; -- 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