changectx: skip all invalid merge.preferancestor values
A better fix for
17011b36aac7 that will ignore other kinds of "invalid"
revisions.
--- 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
--- 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 ..