diff -r 36dcd3db70ab -r cd9e5e57064d mercurial/merge.py --- a/mercurial/merge.py Sun Nov 30 20:06:53 2014 +0100 +++ b/mercurial/merge.py Wed Nov 26 15:37:01 2014 -0800 @@ -457,7 +457,10 @@ actions['r'].append((f, None, "remote delete")) else: actions['cd'].append((f, None, "prompt changed/deleted")) - elif n1[20:] == 'a': # added, no remote + elif n1[20:] == 'a': + # This extra 'a' is added by working copy manifest to mark the + # file as locally added. We should forget it instead of + # deleting it. actions['f'].append((f, None, "remote deleted")) else: actions['r'].append((f, None, "other deleted"))