# HG changeset patch # User Martin von Zweigbergk # Date 1416874622 28800 # Node ID 9da5a7413eb8bc3e708eee62bc38342c8ff7f917 # Parent c7c95838be9adc11a2697d71ea011347adc0212e merge: use None as filename for base in 'both created' conflicts Instead of using a file that we know is not in the common ancestor's maniffest, let's use None. This is safe as the only place that cares about the value (applyupdates) already checks if the item exists in the ancestor. diff -r c7c95838be9a -r 9da5a7413eb8 mercurial/merge.py --- a/mercurial/merge.py Mon Nov 24 16:42:36 2014 -0800 +++ b/mercurial/merge.py Mon Nov 24 16:17:02 2014 -0800 @@ -421,9 +421,7 @@ actions['m'].append((f, (f, f, fa, False, pa.node()), "both renamed from " + fa)) else: - # Note: f as ancestor is wrong - we can't really make a - # 3-way merge without an ancestor file. - actions['m'].append((f, (f, f, f, False, pa.node()), + actions['m'].append((f, (f, f, None, False, pa.node()), "both created")) else: a = ma[f] @@ -493,8 +491,7 @@ else: different = _checkunknownfile(repo, wctx, p2, f) if force and branchmerge and different: - # FIXME: This is wrong - f is not in ma ... - actions['m'].append((f, (f, f, f, False, pa.node()), + actions['m'].append((f, (f, f, None, False, pa.node()), "remote differs from untracked local")) elif not force and different: aborts.append((f, 'ud'))