diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py index 4545c5b53013bff82ea62e7f5a4439883c264e3c_bWVyY3VyaWFsL2xvY2FscmVwby5weQ==..4f2a5c7cdf78ac2cc7e0d9f04c8018455e1d24cc_bWVyY3VyaWFsL2xvY2FscmVwby5weQ== 100644 --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -1392,7 +1392,7 @@ m = m1.copy() # check in files - new = {} + added = [] changed = [] removed = list(ctx.removed()) linkrev = len(self) @@ -1403,8 +1403,9 @@ if fctx is None: removed.append(f) else: - new[f] = self._filecommit(fctx, m1, m2, linkrev, - trp, changed) + added.append(f) + m[f] = self._filecommit(fctx, m1, m2, linkrev, + trp, changed) m.set(f, fctx.flags()) except OSError, inst: self.ui.warn(_("trouble committing %s!\n") % f) @@ -1416,10 +1417,9 @@ raise # update manifest - m.update(new) removed = [f for f in sorted(removed) if f in m1 or f in m2] drop = [f for f in removed if f in m] for f in drop: del m[f] mn = self.manifest.add(m, trp, linkrev, p1.manifestnode(), p2.manifestnode(), @@ -1420,10 +1420,10 @@ removed = [f for f in sorted(removed) if f in m1 or f in m2] drop = [f for f in removed if f in m] for f in drop: del m[f] mn = self.manifest.add(m, trp, linkrev, p1.manifestnode(), p2.manifestnode(), - new, drop) + added, drop) files = changed + removed else: mn = p1.manifestnode()