Johannes Schindelin [off-list ref] writes:
IMHO this should be solved as a filter: "git-show-ref --stdin
--show-invalid". Thus, git does not have to traverse _every_ ref for
_every_ incoming tag.
That sounds like a too specialized hack to me. We should first
speed up the general "--verify $ref" case; as you corrected me
earlier it still has a useless loop.
If it is still too slow (which I suspect it could be the case,
with fork+exec overhead), we should _also_ pursue the filter
approach, but even then I think "filter out the valid ones" is a
specialized hack, if you mean "show only the invalid one's
names" by --show-invalid.
It would make sense to do
$ git show-ref --show-invalid v1.0.0 v2.6.18
f665776185ad074b236c00751d666da7d1977dbe refs/tags/v1.0.0
- refs/tags/v2.6.18
(and its equivalent to take refs from --stdin) though.