diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -664,29 +664,28 @@ class localrepository(repo.repository): tr = self.transaction() # check in files - new = {} + new = [] linkrev = self.changelog.count() commit.sort() for f in commit: self.ui.note(f + "\n") try: - new[f] = self.filecommit(f, m1, m2, linkrev, tr, changed) + m1[f] = self.filecommit(f, m1, m2, linkrev, tr, changed) m1.set(f, util.is_exec(self.wjoin(f), m1.execf(f))) + new.append(f) except IOError: self.ui.warn(_("trouble committing %s!\n") % f) raise # update manifest - m1.update(new) + remove.sort() + for f in remove: if f in m1: del m1[f] mn = self.manifest.add(m1, tr, linkrev, c1[0], c2[0], (new, remove)) # add changeset - new = new.keys() - new.sort() - user = user or self.ui.username() if not text or force_editor: edittext = []