Mercurial > hg
changeset 44582:482a6aac1f15
revset: allow repo.revs('%d', wdirrev)
Otherwise we can't write repo.revs('null:%d', subset.max()) to build
a smartset covering the range {null .. tip} + {wdir} if subset includes
wdir.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sat, 21 Mar 2020 13:27:47 +0900 |
parents | b746a22349f9 |
children | 967e2e81f762 |
files | mercurial/revset.py tests/test-template-functions.t |
diffstat | 2 files changed, 9 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/revset.py Thu Mar 19 16:06:24 2020 +0100 +++ b/mercurial/revset.py Sat Mar 21 13:27:47 2020 +0900 @@ -2108,7 +2108,8 @@ except (TypeError, ValueError): # i18n: "rev" is a keyword raise error.ParseError(_(b"rev expects a number")) - repo.changelog.node(l) # check that the rev exists + if l not in _virtualrevs: + repo.changelog.node(l) # check that the rev exists return subset & baseset([l])
--- a/tests/test-template-functions.t Thu Mar 19 16:06:24 2020 +0100 +++ b/tests/test-template-functions.t Sat Mar 21 13:27:47 2020 +0900 @@ -1263,6 +1263,13 @@ 5:13207e5a10d9fd28ec424934298e176197f2c67f, 4:bbe44766e73d5f11ed2177f1838de10c53ef3e74 +%d parameter handling: + + $ hg log -T '{revset("%d", rev)}\n' -r'wdir()' + 2147483647 + $ hg log -T '{revset("%d", rev)}\n' -r'null' + -1 + Invalid arguments passed to revset() $ hg log -T '{revset("%whatever", 0)}\n'