diff --git a/eden/scm/edenscm/mercurial/revset.py b/eden/scm/edenscm/mercurial/revset.py index febd799ba6..acd8779791 100644 --- a/eden/scm/edenscm/mercurial/revset.py +++ b/eden/scm/edenscm/mercurial/revset.py @@ -576,9 +576,9 @@ def ancestorspec(repo, subset, x, n, order): nullrev = node.nullrev for r in s: if r != nullrev: - n = firstancestornth(tonode(r), n) - if n is not None: - psadd(torev(n)) + ancestor = firstancestornth(tonode(r), n) + if ancestor is not None: + psadd(torev(ancestor)) return subset & baseset(ps, repo=repo) diff --git a/eden/scm/tests/test-revset-t.py b/eden/scm/tests/test-revset-t.py index 6a917344cb..7784f2af24 100644 --- a/eden/scm/tests/test-revset-t.py +++ b/eden/scm/tests/test-revset-t.py @@ -2680,3 +2680,9 @@ sh % "hg log -r '\n. +\n.^ +'" == r""" ( . + .^ + ^ here) [255]""" + +# test ancestorspec with multiple base revisions + +sh % "log '(. + .^)~1'" == r""" + 4 + 8"""