Mercurial > hg-stable
changeset 26318:d3bd6cefd742
bidmerge: choose shortest list of diverge and rename/delete warnings
Slightly less arbitrary than choosing the first set.
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Wed, 19 Aug 2015 14:05:42 -0500 |
parents | 07ac78ba2e37 |
children | 4b9bb1616195 |
files | mercurial/merge.py |
diffstat | 1 files changed, 6 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/merge.py Wed Aug 19 14:04:54 2015 -0500 +++ b/mercurial/merge.py Wed Aug 19 14:05:42 2015 -0500 @@ -596,10 +596,14 @@ repo, wctx, mctx, ancestor, branchmerge, force, partial, acceptremote, followcopies) _checkunknownfiles(repo, wctx, mctx, force, actions) - if diverge is None: # and renamedelete is None. - # Arbitrarily pick warnings from first iteration + + # Track the shortest set of warning on the theory that bid + # merge will correctly incorporate more information + if diverge is None or len(diverge1) < len(diverge): diverge = diverge1 + if renamedelete is None or len(renamedelete) < len(renamedelete1): renamedelete = renamedelete1 + for f, a in sorted(actions.iteritems()): m, args, msg = a repo.ui.debug(' %s: %s -> %s\n' % (f, msg, m))