Mercurial > public > mercurial-scm > hg-stable
diff mercurial/localrepo.py @ 7564:f1af59451c0c
localrepo: fix bad manifest delta generation (issue1433)
The issue came from the 720ae5085ee3 fix for issue586 working only for
manifest.add() fast path, where the incorrect removed file set was
ignored. This path was no longer taken after 716a1296e182 refactoring.
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Sat, 03 Jan 2009 20:16:10 +0100 |
parents | 3342e6ada4b9 |
children | 7bf7c073375e d821ea464465 a32847fa0df0 |
line wrap: on
line diff
--- a/mercurial/localrepo.py Sat Jan 03 20:50:06 2009 +0100 +++ b/mercurial/localrepo.py Sat Jan 03 20:16:10 2009 +0100 @@ -882,16 +882,15 @@ # update manifest m1.update(new) - removed = [] + removed = [f for f in util.sort(remove) if f in m1 or f in m2] + removed1 = [] - for f in util.sort(remove): + for f in removed: if f in m1: del m1[f] - removed.append(f) - elif f in m2: - removed.append(f) + removed1.append(f) mn = self.manifest.add(m1, trp, linkrev, c1[0], c2[0], - (new, removed)) + (new, removed1)) # add changeset if (not empty_ok and not text) or force_editor: