Mercurial > hg-stable
changeset 22180:17011b36aac7 stable
changectx: ancestor should only prefer merge.preferancestor if it is a revision
The value '*' currently designates that bid merge should be used. The best
way to test bid merge is to set preferancestor=* in the configuration file ...
but then it would abort with unknown revision '*' when other code paths ended
up in changectx.ancestor .
Instead, just skip and ignore the value '*' when looking for a preferred
ancestor.
author | Mads Kiilerich <madski@unity3d.com> |
---|---|
date | Fri, 15 Aug 2014 02:46:44 +0200 |
parents | 46308fadaa15 |
children | 851db07bb2de |
files | mercurial/context.py tests/test-merge-criss-cross.t |
diffstat | 2 files changed, 13 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/context.py Fri Aug 15 02:39:01 2014 +0200 +++ b/mercurial/context.py Fri Aug 15 02:46:44 2014 +0200 @@ -553,6 +553,8 @@ anc = cahs[0] else: for r in self._repo.ui.configlist('merge', 'preferancestor'): + if r == '*': + continue ctx = changectx(self._repo, r) anc = ctx.node() if anc in cahs:
--- a/tests/test-merge-criss-cross.t Fri Aug 15 02:39:01 2014 +0200 +++ b/tests/test-merge-criss-cross.t Fri Aug 15 02:46:44 2014 +0200 @@ -341,4 +341,15 @@ b c +Verify that the old context ancestor works with / despite preferancestor: + + $ hg log -r 'ancestor(head())' --config merge.preferancestor=1 -T '{rev}\n' + 1 + $ hg log -r 'ancestor(head())' --config merge.preferancestor=2 -T '{rev}\n' + 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 + $ cd ..