comparison mercurial/localrepo.py @ 3675:6990e499d71a

Revert almost all of 5be434785317; add a test Because of file copies, we should update the manifest dict only after committing all files.
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Sat, 18 Nov 2006 19:44:42 -0200
parents 6f6696962986
children 20912eb2667d
comparison
equal deleted inserted replaced
3674:9103dab96093 3675:6990e499d71a
644 if not lock: 644 if not lock:
645 lock = self.lock() 645 lock = self.lock()
646 tr = self.transaction() 646 tr = self.transaction()
647 647
648 # check in files 648 # check in files
649 new = [] 649 new = {}
650 linkrev = self.changelog.count() 650 linkrev = self.changelog.count()
651 commit.sort() 651 commit.sort()
652 for f in commit: 652 for f in commit:
653 self.ui.note(f + "\n") 653 self.ui.note(f + "\n")
654 try: 654 try:
655 m1[f] = self.filecommit(f, m1, m2, linkrev, tr, changed) 655 new[f] = self.filecommit(f, m1, m2, linkrev, tr, changed)
656 m1.set(f, util.is_exec(self.wjoin(f), m1.execf(f))) 656 m1.set(f, util.is_exec(self.wjoin(f), m1.execf(f)))
657 new.append(f)
658 except IOError: 657 except IOError:
659 if use_dirstate: 658 if use_dirstate:
660 self.ui.warn(_("trouble committing %s!\n") % f) 659 self.ui.warn(_("trouble committing %s!\n") % f)
661 raise 660 raise
662 else: 661 else:
663 remove.append(f) 662 remove.append(f)
664 663
665 # update manifest 664 # update manifest
665 m1.update(new)
666 remove.sort() 666 remove.sort()
667 667
668 for f in remove: 668 for f in remove:
669 if f in m1: 669 if f in m1:
670 del m1[f] 670 del m1[f]
671 mn = self.manifest.add(m1, tr, linkrev, c1[0], c2[0], (new, remove)) 671 mn = self.manifest.add(m1, tr, linkrev, c1[0], c2[0], (new, remove))
672 672
673 # add changeset 673 # add changeset
674 new = new.keys()
675 new.sort()
676
674 user = user or self.ui.username() 677 user = user or self.ui.username()
675 if not text or force_editor: 678 if not text or force_editor:
676 edittext = [] 679 edittext = []
677 if text: 680 if text:
678 edittext.append(text) 681 edittext.append(text)