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: