# HG changeset patch # User Pulkit Goyal <7895pulkit@gmail.com> # Date 1495481899 -19800 # Node ID 018f638ad88ebe4b87733ebaff82489caa9bc951 # Parent c8fb2a82b5f9841b16e065fa3a71f0654a791823 revset: add support for using ~ operator on wdir() predicate We catch the WdirUnsupported exception and handles the wdir() case here. diff -r c8fb2a82b5f9 -r 018f638ad88e mercurial/revset.py --- a/mercurial/revset.py Mon May 22 02:14:22 2017 +0530 +++ b/mercurial/revset.py Tue May 23 01:08:19 2017 +0530 @@ -383,7 +383,10 @@ cl = repo.changelog for r in getset(repo, fullreposet(repo), x): for i in range(n): - r = cl.parentrevs(r)[0] + try: + r = cl.parentrevs(r)[0] + except error.WdirUnsupported: + r = repo[r].parents()[0].rev() ps.add(r) return subset & ps diff -r c8fb2a82b5f9 -r 018f638ad88e tests/test-revset.t --- a/tests/test-revset.t Mon May 22 02:14:22 2017 +0530 +++ b/tests/test-revset.t Tue May 23 01:08:19 2017 +0530 @@ -1229,6 +1229,8 @@ 7 $ hg debugrevspec 'wdir()^0' 2147483647 + $ hg debugrevspec 'wdir()~3' + 5 $ hg debugrevspec 'wdir()~0' 2147483647 $ hg debugrevspec 'p1(wdir())'