Phil Hord <[email protected]> writes:
> Someone at $work asked me this week how to find the current and
> previous tags on his branch so he could generate release notes. I
> just need "last two tags on head in topo-order". I was surprised by
> how complicated this turned out to be. I ended up with this:
>
> git log --decorate=full --pretty=format:'%d' HEAD |
> sed -n -e 's-^.* refs/tags/\(.*\)[ )].*$-\1-p' |
> head -2
>
> Surely there's a cleaner way, right?
That looks clean enough (I would have used "head -n 2" though) and
in line with the way how you can exercise the flexibility of the
system, at least to me ;-).
Joking aside, I agree that a "--merged X" primitive, i.e. "what refs
can be reachable from commit X?", in the listing mode of "git tag"
or "git for-each-ref" would have helped. As the sorting and
formatting primitives are already there in for-each-ref, it would
have been
git for-each-ref \
--format='%(refname:short)' \
--sort='-*committerdate' \
--count=2 \
--merged my-branch \
refs/tags/
or something like that.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html