diff -r a4679a74df14 -r d74eb8d477d5 mercurial/context.py --- a/mercurial/context.py Thu Dec 18 16:41:59 2014 -0600 +++ b/mercurial/context.py Fri Dec 19 00:11:56 2014 +0900 @@ -1633,10 +1633,9 @@ # keep this simple for now; just worry about p1 pctx = self._parents[0] - pman = pctx.manifest() man = pctx.manifest().copy() - for f, fnode in pman.iteritems(): + for f in self._status.modified: p1node = nullid p2node = nullid p = pctx[f].parents() # if file isn't in pctx, check p2? @@ -1644,12 +1643,7 @@ p1node = p[0].node() if len(p) > 1: p2node = p[1].node() - fctx = self[f] - if fctx is None: - # removed file - del man[f] - else: - man[f] = revlog.hash(fctx.data(), p1node, p2node) + man[f] = revlog.hash(self[f].data(), p1node, p2node) for f in self._status.added: man[f] = revlog.hash(self[f].data(), nullid, nullid)