aboutsummaryrefslogtreecommitdiffstats
path: root/builtin/describe.c
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2025-08-18 17:01:25 -0400
committerJunio C Hamano <gitster@pobox.com>2025-08-18 14:23:43 -0700
commitdb2664b6f7c88910b1ab21bcdbac87be098df8a2 (patch)
treebf8c060b2f7b4f6f87d1358342757ac2dd022d12 /builtin/describe.c
parente715f776820f22d0951e02947dd0c4f889e83df8 (diff)
downloadgit-db2664b6f7c88910b1ab21bcdbac87be098df8a2.tar.gz
describe: error if blob not found
If describe_blob() does not find the blob in question, it returns an empty strbuf, and we print an empty line. This differs from describe_commit(), which always either returns an answer or calls die() itself. As the blob function was bolted onto the command afterwards, I think its behavior is not intentional, and it is just a bug that it does not report an error. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/describe.c')
-rw-r--r--builtin/describe.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/builtin/describe.c b/builtin/describe.c
index 383d3e6b9a..06e413d937 100644
--- a/builtin/describe.c
+++ b/builtin/describe.c
@@ -535,6 +535,9 @@ static void describe_blob(const struct object_id *oid, struct strbuf *dst)
reset_revision_walk();
release_revisions(&revs);
strvec_clear(&args);
+
+ if (!dst->len)
+ die(_("blob '%s' not reachable from HEAD"), oid_to_hex(oid));
}
static void describe(const char *arg, int last_one)