# HG changeset patch # User mpm@selenic.com # Date 1117942508 28800 # Node ID 65dccc4555c28316077f7f6878312c3b81cd00d3 # Parent 649ed23e46617a7e0bc43a7a2d124485772c06d9 Sort tags in revision order -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Sort tags in revision order manifest hash: 23f33a4ece3d36e4387d9c096a87e3d758db0cbc -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFConLsywK+sNU5EO8RAkBTAJ0c71AIsyi3YFyNIZTAMgEIMgEHNACggAKC YrPLqJ3nzAX/tLSprvR/SUY= =WTsq -----END PGP SIGNATURE----- diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -421,7 +421,17 @@ def tags(ui, repo): """list repository tags""" repo.lookup(0) # prime the cache i = repo.tags.items() - i.sort() + n = [] + for e in i: + try: + l = repo.changelog.rev(e[1]) + except KeyError: + l = -2 + n.append((l, e)) + + n.sort() + n.reverse() + i = [ e[1] for e in n ] for k, n in i: try: r = repo.changelog.rev(n)