diff --git a/mercurial/revset.py b/mercurial/revset.py --- a/mercurial/revset.py +++ b/mercurial/revset.py @@ -2293,6 +2293,7 @@ def roots(repo, subset, x): b'user': lambda c: c.user(), b'author': lambda c: c.user(), b'date': lambda c: c.date()[0], + b'node': lambda c: c.node(), } @@ -2356,6 +2357,7 @@ def sort(repo, subset, x, order): - ``user`` for user name (``author`` can be used as an alias), - ``date`` for the commit date - ``topo`` for a reverse topographical sort + - ``node`` the nodeid of the revision The ``topo`` sort order cannot be combined with other sort keys. This sort takes one optional argument, ``topo.firstbranch``, which takes a revset that diff --git a/tests/test-revset.t b/tests/test-revset.t --- a/tests/test-revset.t +++ b/tests/test-revset.t @@ -2885,7 +2885,7 @@ test sorting by multiple keys including 3 b112 m111 u11 120 0 0 b12 m111 u112 111 10800 - $ hg log -r 'sort(all(), "-desc -date")' + $ hg log -r 'sort(all(), "-desc -node")' 1 b11 m12 u111 112 7200 4 b111 m112 u111 110 14400 3 b112 m111 u11 120 0