Thread (1 message) 1 message, 1 author, 2016-06-15

Re: [PATCH] log: diagnose empty HEAD more clearly

From: Junio C Hamano <hidden>
Date: 2016-06-15 23:05:10

Jeff King [off-list ref] writes:
But if you are OK to eventually stop dying, I think this line of
reasoning is OK.
quoted
diff --git a/builtin/log.c b/builtin/log.c
index 4c4e6be..3b568a1 100644
--- a/builtin/log.c
+++ b/builtin/log.c
@@ -148,6 +148,9 @@ static void cmd_log_init_finish(int argc, const char **argv, const char *prefix,
 		rev->diffopt.output_format |= DIFF_FORMAT_NO_OUTPUT;
 	argc = setup_revisions(argc, argv, rev, opt);
 
+	if (!rev->pending.nr && !opt->def)
+		die("you do not have a commit yet on your branch");
Do we want to mention the name of the branch here? I guess it does not
really matter. Perhaps "the current branch" would be better than "your
branch", though. Maybe:

  fatal: you do not have any commits yet on the current branch

This message hopefully goes away in the long run, but we'll have it for
a while.
quoted
+static void default_to_head_if_exists(struct setup_revision_opt *opt)
+{
+	unsigned char unused[20];
+
+	if (resolve_ref_unsafe("HEAD", RESOLVE_REF_READING, unused, NULL))
+		opt->def = "HEAD";
+}
This approach looks sane to me. Want to wrap it up with a commit
message and a test?
There is an unmerged attempt jc/log-missing-default-HEAD in my
"broken-out" repository https://github.com/gitster/git; I do agree
that we should spend more cycles after deciding to error out to
give a more detailed diagnosis, but I didn't have enough energy
to bring myself do that, so I've tentatively merged your version
instead of this one.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help