Mercurial > public > mercurial-scm > hg
comparison 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 |
comparison
equal
deleted
inserted
replaced
7563:bbcd2dea19fe | 7564:f1af59451c0c |
---|---|
880 else: | 880 else: |
881 added.append(f) | 881 added.append(f) |
882 | 882 |
883 # update manifest | 883 # update manifest |
884 m1.update(new) | 884 m1.update(new) |
885 removed = [] | 885 removed = [f for f in util.sort(remove) if f in m1 or f in m2] |
886 | 886 removed1 = [] |
887 for f in util.sort(remove): | 887 |
888 for f in removed: | |
888 if f in m1: | 889 if f in m1: |
889 del m1[f] | 890 del m1[f] |
890 removed.append(f) | 891 removed1.append(f) |
891 elif f in m2: | |
892 removed.append(f) | |
893 mn = self.manifest.add(m1, trp, linkrev, c1[0], c2[0], | 892 mn = self.manifest.add(m1, trp, linkrev, c1[0], c2[0], |
894 (new, removed)) | 893 (new, removed1)) |
895 | 894 |
896 # add changeset | 895 # add changeset |
897 if (not empty_ok and not text) or force_editor: | 896 if (not empty_ok and not text) or force_editor: |
898 edittext = [] | 897 edittext = [] |
899 if text: | 898 if text: |