diff -r 6a254a2dd37c -r c7c95838be9a mercurial/merge.py --- a/mercurial/merge.py Mon Nov 24 16:16:34 2014 -0800 +++ b/mercurial/merge.py Mon Nov 24 16:42:36 2014 -0800 @@ -416,11 +416,15 @@ continue if n1 and n2: if f not in ma: - # Note: f as ancestor is wrong - we can't really make a 3-way - # merge without an ancestor file. - fa = copy.get(f, f) - actions['m'].append((f, (f, f, fa, False, pa.node()), - "both created")) + fa = copy.get(f, None) + if fa is not None: + 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()), + "both created")) else: a = ma[f] fla = ma.flags(f)