# HG changeset patch # User Mads Kiilerich # Date 1412127651 -7200 # Node ID 5220c12c43fda739990eb65be617b127aaa7719f # Parent 44dce874de97a2b3d47cc8be97432cbfcffddbe1 changectx: skip all invalid merge.preferancestor values A better fix for 17011b36aac7 that will ignore other kinds of "invalid" revisions. diff -r 44dce874de97 -r 5220c12c43fd mercurial/context.py --- a/mercurial/context.py Wed Apr 30 16:56:23 2014 -0700 +++ b/mercurial/context.py Wed Oct 01 03:40:51 2014 +0200 @@ -558,9 +558,10 @@ 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 -r 44dce874de97 -r 5220c12c43fd tests/test-merge-criss-cross.t --- a/tests/test-merge-criss-cross.t Wed Apr 30 16:56:23 2014 -0700 +++ b/tests/test-merge-criss-cross.t Wed Oct 01 03:40:51 2014 +0200 @@ -349,7 +349,7 @@ 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 ..