Mercurial > hg
changeset 21203:9f12d8665c7b stable
ancestor: silence multiple ancestor warning outside of merge (issue4234)
The current situation is a bit of a layering violation as
merge-specific knowledge is pushed down to lower layers and leaks
merge assumptions into other code paths.
Here, we simply silence the warning with a hack. Both the warning and
the hack will probably go away in the near future when bid merge is
made the default.
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Wed, 30 Apr 2014 14:19:01 -0500 |
parents | c04e5e937139 |
children | 1d7a2771aa36 |
files | mercurial/context.py mercurial/merge.py |
diffstat | 2 files changed, 9 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/context.py Fri Apr 25 13:44:51 2014 -0700 +++ b/mercurial/context.py Wed Apr 30 14:19:01 2014 -0500 @@ -394,7 +394,7 @@ return filectx(self._repo, path, fileid=fileid, changectx=self, filelog=filelog) - def ancestor(self, c2): + def ancestor(self, c2, warn=False): """ return the "best" ancestor context of self and c2 """ @@ -415,12 +415,13 @@ break else: anc = self._repo.changelog.ancestor(self._node, n2) - self._repo.ui.status( - (_("note: using %s as ancestor of %s and %s\n") % - (short(anc), short(self._node), short(n2))) + - ''.join(_(" alternatively, use --config " - "merge.preferancestor=%s\n") % - short(n) for n in sorted(cahs) if n != anc)) + if warn: + self._repo.ui.status( + (_("note: using %s as ancestor of %s and %s\n") % + (short(anc), short(self._node), short(n2))) + + ''.join(_(" alternatively, use --config " + "merge.preferancestor=%s\n") % + short(n) for n in sorted(cahs) if n != anc)) return changectx(self._repo, anc) def descendant(self, other):
--- a/mercurial/merge.py Fri Apr 25 13:44:51 2014 -0700 +++ b/mercurial/merge.py Wed Apr 30 14:19:01 2014 -0500 @@ -992,7 +992,7 @@ cahs = repo.changelog.commonancestorsheads(p1.node(), p2.node()) pas = [repo[anc] for anc in (sorted(cahs) or [nullid])] else: - pas = [p1.ancestor(p2)] + pas = [p1.ancestor(p2, warn=True)] fp1, fp2, xp1, xp2 = p1.node(), p2.node(), str(p1), str(p2)