# HG changeset patch # User Yuya Nishihara # Date 2020-03-21 04:42:08 # Node ID f913ece27ff59ec8e90de3b97e6e0ed686104372 # Parent 967e2e81f7623c28d16547f7b78f66e58e58488b 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)