diff -r d3659b3795e9 -r 06fbd9518bc5 mercurial/cmdutil.py --- a/mercurial/cmdutil.py Sat Aug 02 11:32:24 2014 -0700 +++ b/mercurial/cmdutil.py Tue Jun 24 17:28:20 2014 +0100 @@ -2435,6 +2435,17 @@ # So we just put them all in the same group. dsadded = added + # in case of merge, files that are actually added can be reported as + # modified, we need to post process the result + if p2 != nullid: + if pmf is None: + # only need parent manifest in the merge case, + # so do not read by default + pmf = repo[parent].manifest() + mergeadd = dsmodified - set(pmf) + dsadded |= mergeadd + dsmodified -= mergeadd + # if f is a rename, update `names` to also revert the source cwd = repo.getcwd() for f in dsadded: