[PATCH 3 of 3] revset: leverage internal _rev() function to implement rev()
Yuya Nishihara
yuya at tcha.org
Sat Mar 21 05:26:55 UTC 2020
# HG changeset patch
# User Yuya Nishihara <yuya at tcha.org>
# Date 1584765728 -32400
# Sat Mar 21 13:42:08 2020 +0900
# Node ID 98b60b759e2623db637a2ff68eadd5b7e6a8dc12
# Parent 1c189a6e5aa76bf71d5078597fd01c1f959244a2
revset: leverage internal _rev() function to implement rev()
Now 'rev(n)' is identical to 'present(_rev(n))'.
diff --git a/mercurial/revset.py b/mercurial/revset.py
--- a/mercurial/revset.py
+++ b/mercurial/revset.py
@@ -2082,19 +2082,11 @@ def removes(repo, subset, x):
@predicate(b'rev(number)', safe=True)
def rev(repo, subset, x):
- """Revision with the given numeric identifier.
- """
- # i18n: "rev" is a keyword
- l = getargs(x, 1, 1, _(b"rev requires one argument"))
+ """Revision with the given numeric identifier."""
try:
- # i18n: "rev" is a keyword
- l = int(getstring(l[0], _(b"rev requires a number")))
- except (TypeError, ValueError):
- # i18n: "rev" is a keyword
- raise error.ParseError(_(b"rev expects a number"))
- if l not in repo.changelog and l not in _virtualrevs:
+ return _rev(repo, subset, x)
+ except error.RepoLookupError:
return baseset()
- return subset & baseset([l])
@predicate(b'_rev(number)', safe=True)
More information about the Mercurial-devel
mailing list