diff --git a/mercurial/revset.py b/mercurial/revset.py index 189fe1b3d16ae0035424cedce46a5b7b542644ba_bWVyY3VyaWFsL3JldnNldC5weQ==..760151697a4fe2ea4c4c98565dddba4c5df69186_bWVyY3VyaWFsL3JldnNldC5weQ== 100644 --- a/mercurial/revset.py +++ b/mercurial/revset.py @@ -12,6 +12,7 @@ from i18n import _ import encoding import obsolete as obsmod +import pathutil import repoview def _revancestors(repo, revs, followfirst): @@ -530,6 +531,7 @@ pat = getstring(x, _("contains requires a pattern")) s = [] if not matchmod.patkind(pat): + pat = pathutil.canonpath(repo.root, repo.getcwd(), pat) for r in subset: if pat in repo[r]: s.append(r) diff --git a/tests/test-revset.t b/tests/test-revset.t index 189fe1b3d16ae0035424cedce46a5b7b542644ba_dGVzdHMvdGVzdC1yZXZzZXQudA==..760151697a4fe2ea4c4c98565dddba4c5df69186_dGVzdHMvdGVzdC1yZXZzZXQudA== 100644 --- a/tests/test-revset.t +++ b/tests/test-revset.t @@ -273,6 +273,11 @@ 1 3 5 + $ log 'contains("../repo/a")' + 0 + 1 + 3 + 5 $ log 'desc(B)' 5 $ log 'descendants(2 or 3)'