`git tag --points-at` can simply return if the given rev does not have any tags pointing to it. It's not a failure but it shouldn't return with 0 value. --- builtin/tag.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/builtin/tag.c b/builtin/tag.c index b38329b59..68b84db2a 100644 --- a/builtin/tag.c +++ b/builtin/tag.c @@ -58,6 +58,10 @@ static int list_tags(struct ref_filter *filter, struct ref_sorting *sorting, die(_("unable to parse format string")); filter->with_commit_tag_algo = 1; filter_refs(&array, filter, FILTER_REFS_TAGS); + + if (array.nr == 0) + return -1; + ref_array_sort(sorting, &array); for (i = 0; i < array.nr; i++) -- 2.11.0