diff --git a/mercurial/context.py b/mercurial/context.py --- a/mercurial/context.py +++ b/mercurial/context.py @@ -558,9 +558,10 @@ class changectx(basectx): anc = cahs[0] else: for r in self._repo.ui.configlist('merge', 'preferancestor'): - if r == '*': + try: + ctx = changectx(self._repo, r) + except error.RepoLookupError: continue - ctx = changectx(self._repo, r) anc = ctx.node() if anc in cahs: break diff --git a/tests/test-merge-criss-cross.t b/tests/test-merge-criss-cross.t --- a/tests/test-merge-criss-cross.t +++ b/tests/test-merge-criss-cross.t @@ -349,7 +349,7 @@ Verify that the old context ancestor wor 2 $ hg log -r 'ancestor(head())' --config merge.preferancestor=3 -T '{rev}\n' 1 - $ hg log -r 'ancestor(head())' --config merge.preferancestor='*' -T '{rev}\n' - 1 + $ hg log -r 'ancestor(head())' --config merge.preferancestor='1337 * - 2' -T '{rev}\n' + 2 $ cd ..