Mercurial > public > mercurial-scm > hg
comparison mercurial/revset.py @ 32439:e72c5263ccaf
revset: use try-except instead of if-else because of perf
For wdir(), we now raises an exception which will be raised when wdir() will be
passed, so catching that exception is better checking for wdir() using if-else.
author | Pulkit Goyal <7895pulkit@gmail.com> |
---|---|
date | Mon, 22 May 2017 02:03:43 +0530 |
parents | 14482f8e6ce6 |
children | c8fb2a82b5f9 |
comparison
equal
deleted
inserted
replaced
32438:14482f8e6ce6 | 32439:e72c5263ccaf |
---|---|
1454 ps = set() | 1454 ps = set() |
1455 cl = repo.changelog | 1455 cl = repo.changelog |
1456 up = ps.update | 1456 up = ps.update |
1457 parentrevs = cl.parentrevs | 1457 parentrevs = cl.parentrevs |
1458 for r in getset(repo, fullreposet(repo), x): | 1458 for r in getset(repo, fullreposet(repo), x): |
1459 if r == node.wdirrev: | 1459 try: |
1460 up(parentrevs(r)) | |
1461 except error.WdirUnsupported: | |
1460 up(p.rev() for p in repo[r].parents()) | 1462 up(p.rev() for p in repo[r].parents()) |
1461 else: | |
1462 up(parentrevs(r)) | |
1463 ps -= {node.nullrev} | 1463 ps -= {node.nullrev} |
1464 return subset & ps | 1464 return subset & ps |
1465 | 1465 |
1466 def _phase(repo, subset, *targets): | 1466 def _phase(repo, subset, *targets): |
1467 """helper to select all rev in <targets> phases""" | 1467 """helper to select all rev in <targets> phases""" |