diff --git a/mercurial/revset.py b/mercurial/revset.py --- a/mercurial/revset.py +++ b/mercurial/revset.py @@ -360,7 +360,7 @@ def andset(repo, subset, x, y): def orset(repo, subset, x, y): xl = getset(repo, subset, x) - yl = getset(repo, subset - xl, y) + yl = getset(repo, subset, y) return xl + yl def notset(repo, subset, x): diff --git a/tests/test-revset.t b/tests/test-revset.t --- a/tests/test-revset.t +++ b/tests/test-revset.t @@ -889,9 +889,7 @@ test that `or` operation skips duplicate * set: , - >>> + > 5 3 1 @@ -913,8 +911,7 @@ test that `or` operation skips duplicate * set: , - >> + > 0 1 2 @@ -1432,8 +1429,7 @@ far away. , >>> + >> 9 $ try 'd(2:5)'