Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>2022-01-27 08:26:45 +0300
committerJunio C Hamano <gitster@pobox.com>2022-01-27 23:09:33 +0300
commit667a560be7ae977e61d81ca4bcb95ded1cdacc9c (patch)
treef95e7fac76a0a526c8f612dfb343bfc05bfdcb89 /object-name.c
parent6780e6804087a89bddfb0333171d005b309941a1 (diff)
object-name: explicitly handle bad tags in show_ambiguous_object()
Follow-up the handling of OBJ_BAD in the preceding commit and explicitly handle those cases where parse_tag() fails, or we don't end up with a non-NULL pointer in in tag->tag. If we run into such a tag we'd previously be silent about it. We really should also be handling these batter in parse_tag_buffer() by being more eager to emit an error(), instead of silently aborting with "return -1;". One example of such a tag is the one that's tested for in "t3800-mktag.sh", where the code takes the "size < the_hash_algo->hexsz + 24" branch. But in lieu of earlier missing "error" output let's show the user something to indicate why we're not showing a tag message in these cases, now instead of showing: hint: deadbeef tag We'll instead display: hint: deadbeef tag [tag could not be parsed] Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'object-name.c')
-rw-r--r--object-name.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/object-name.c b/object-name.c
index 9750634ee7..298b742bac 100644
--- a/object-name.c
+++ b/object-name.c
@@ -382,6 +382,8 @@ static int show_ambiguous_object(const struct object_id *oid, void *data)
struct tag *tag = lookup_tag(ds->repo, oid);
if (!parse_tag(tag) && tag->tag)
strbuf_addf(&desc, " %s", tag->tag);
+ else
+ strbuf_addstr(&desc, " [tag could not be parsed]");
}
out: