comparison mercurial/localrepo.py @ 3956:497c69726a04

Fix removed file cornercase for CVS convert-repo
author Matt Mackall <mpm@selenic.com>
date Fri, 22 Dec 2006 17:59:37 -0600
parents 79cf097774ef
children c190df14338c
comparison
equal deleted inserted replaced
3955:9af4b853ed4d 3956:497c69726a04
725 remove.append(f) 725 remove.append(f)
726 726
727 # update manifest 727 # update manifest
728 m1.update(new) 728 m1.update(new)
729 remove.sort() 729 remove.sort()
730 removed = []
730 731
731 for f in remove: 732 for f in remove:
732 if f in m1: 733 if f in m1:
733 del m1[f] 734 del m1[f]
734 mn = self.manifest.add(m1, tr, linkrev, c1[0], c2[0], (new, remove)) 735 removed.append(f)
736 mn = self.manifest.add(m1, tr, linkrev, c1[0], c2[0], (new, removed))
735 737
736 # add changeset 738 # add changeset
737 new = new.keys() 739 new = new.keys()
738 new.sort() 740 new.sort()
739 741
745 edittext.append("") 747 edittext.append("")
746 edittext.append("HG: user: %s" % user) 748 edittext.append("HG: user: %s" % user)
747 if p2 != nullid: 749 if p2 != nullid:
748 edittext.append("HG: branch merge") 750 edittext.append("HG: branch merge")
749 edittext.extend(["HG: changed %s" % f for f in changed]) 751 edittext.extend(["HG: changed %s" % f for f in changed])
750 edittext.extend(["HG: removed %s" % f for f in remove]) 752 edittext.extend(["HG: removed %s" % f for f in removed])
751 if not changed and not remove: 753 if not changed and not remove:
752 edittext.append("HG: no files changed") 754 edittext.append("HG: no files changed")
753 edittext.append("") 755 edittext.append("")
754 # run editor in the repository root 756 # run editor in the repository root
755 olddir = os.getcwd() 757 olddir = os.getcwd()
763 if not lines: 765 if not lines:
764 return None 766 return None
765 text = '\n'.join(lines) 767 text = '\n'.join(lines)
766 if branchname: 768 if branchname:
767 extra["branch"] = branchname 769 extra["branch"] = branchname
768 n = self.changelog.add(mn, changed + remove, text, tr, p1, p2, 770 n = self.changelog.add(mn, changed + removed, text, tr, p1, p2,
769 user, date, extra) 771 user, date, extra)
770 self.hook('pretxncommit', throw=True, node=hex(n), parent1=xp1, 772 self.hook('pretxncommit', throw=True, node=hex(n), parent1=xp1,
771 parent2=xp2) 773 parent2=xp2)
772 tr.close() 774 tr.close()
773 775
774 if use_dirstate or update_dirstate: 776 if use_dirstate or update_dirstate:
775 self.dirstate.setparents(n) 777 self.dirstate.setparents(n)
776 if use_dirstate: 778 if use_dirstate:
777 self.dirstate.update(new, "n") 779 self.dirstate.update(new, "n")
778 self.dirstate.forget(remove) 780 self.dirstate.forget(removed)
779 781
780 self.hook("commit", node=hex(n), parent1=xp1, parent2=xp2) 782 self.hook("commit", node=hex(n), parent1=xp1, parent2=xp2)
781 return n 783 return n
782 784
783 def walk(self, node=None, files=[], match=util.always, badmatch=None): 785 def walk(self, node=None, files=[], match=util.always, badmatch=None):