]> git.ipfire.org Git - thirdparty/git.git/commit
describe: catch unborn branch in describe_blob()
authorJeff King <peff@peff.net>
Mon, 18 Aug 2025 21:01:54 +0000 (17:01 -0400)
committerJunio C Hamano <gitster@pobox.com>
Mon, 18 Aug 2025 21:23:43 +0000 (14:23 -0700)
commitc6478715a52b8f757e898e1d9f8f8d1732fafb24
tree54d75c9fed9eecf569f183e5d0ea3e5f73b572a4
parentdb2664b6f7c88910b1ab21bcdbac87be098df8a2
describe: catch unborn branch in describe_blob()

When describing a blob, we search for it by traversing from HEAD. We do
this by feeding the name HEAD to setup_revisions(). But if we are on an
unborn branch, this will fail with a confusing message:

  $ git describe $blob
  fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree.
  Use '--' to separate paths from revisions, like this:
  'git <command> [<revision>...] -- [<file>...]'

It is OK for this to be an error (we cannot find $blob in an empty
traversal, so we'd eventually complain about that). But the error
message could be more helpful.

Let's resolve HEAD ourselves and pass the resolved object id to
setup_revisions(). If resolving fails, then we can print a more useful
message.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/describe.c
t/t6120-describe.sh