hg tags
always shows all tags, so how can I get only the tags that point to a specific revision and all its ancestors?
The real-world use case is that if I use local tags to designate features (or bug fixes) on changesets, and I need to find out the cumulative features/bugs up till a specific rev.
One solution would be adding a wrapper command that adds "-r" to tags
. Then what's the best way to implement it? Use revsets to get all ancestral revs and filter the tags?
This should do the trick (requires mercurial 1.7):
hg log -r "ancestors(<rev>) and tag()"
where <rev>
is the hash or local revision number. However, tagging every bugfix and feature seems overkill.
Instead of tagging, you can just follow a convention where you put "bugfix: xyz" or "feature: abc" in your commit messages. You can then extract all bugfixes and features like this:
hg log -r "ancestors(<rev>) and (keyword(bugfix) or keyword(feature))"
Keep tags for important milestones or other revisions that have some special significance.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With