Mercurial > public > mercurial-scm > hg
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) |