comparison mercurial/localrepo.py @ 8397:613ac2856535

remove deprecated rawcommit
author Matt Mackall <mpm@selenic.com>
date Thu, 14 May 2009 13:20:40 -0500
parents 475552c03496
children a45eb410e0f2
comparison
equal deleted inserted replaced
8396:d7a77ad9bcce 8397:613ac2856535
774 return fparent1 774 return fparent1
775 775
776 changelist.append(fname) 776 changelist.append(fname)
777 return flog.add(text, meta, tr, linkrev, fparent1, fparent2) 777 return flog.add(text, meta, tr, linkrev, fparent1, fparent2)
778 778
779 def rawcommit(self, files, text, user, date, p1=None, p2=None, extra={}):
780 if p1 is None:
781 p1, p2 = self.dirstate.parents()
782 return self.commit(files=files, text=text, user=user, date=date,
783 p1=p1, p2=p2, extra=extra, empty_ok=True)
784
785 def commit(self, files=None, text="", user=None, date=None, 779 def commit(self, files=None, text="", user=None, date=None,
786 match=None, force=False, force_editor=False, 780 match=None, force=False, force_editor=False,
787 p1=None, p2=None, extra={}, empty_ok=False): 781 p1=None, p2=None, extra={}, empty_ok=False):
788 wlock = lock = None 782 wlock = lock = None
789 if extra.get("close"): 783 if extra.get("close"):
791 if files: 785 if files:
792 files = list(set(files)) 786 files = list(set(files))
793 try: 787 try:
794 wlock = self.wlock() 788 wlock = self.wlock()
795 lock = self.lock() 789 lock = self.lock()
796 use_dirstate = (p1 is None) # not rawcommit 790
797 791 p1, p2 = self.dirstate.parents()
798 if use_dirstate: 792
799 p1, p2 = self.dirstate.parents() 793 if (not force and p2 != nullid and
800 update_dirstate = True 794 (match and (match.files() or match.anypats()))):
801 795 raise util.Abort(_('cannot partially commit a merge '
802 if (not force and p2 != nullid and 796 '(do not specify files or patterns)'))
803 (match and (match.files() or match.anypats()))): 797
804 raise util.Abort(_('cannot partially commit a merge ' 798 if files:
805 '(do not specify files or patterns)')) 799 modified, removed = [], []
806 800 for f in files:
807 if files: 801 s = self.dirstate[f]
808 modified, removed = [], [] 802 if s in 'nma':
809 for f in files: 803 modified.append(f)
810 s = self.dirstate[f] 804 elif s == 'r':
811 if s in 'nma': 805 removed.append(f)
812 modified.append(f) 806 else:
813 elif s == 'r': 807 self.ui.warn(_("%s not tracked!\n") % f)
814 removed.append(f) 808 changes = [modified, [], removed, [], []]
815 else:
816 self.ui.warn(_("%s not tracked!\n") % f)
817 changes = [modified, [], removed, [], []]
818 else:
819 changes = self.status(match=match)
820 else: 809 else:
821 p1, p2 = p1, p2 or nullid 810 changes = self.status(match=match)
822 update_dirstate = (self.dirstate.parents()[0] == p1)
823 changes = [files, [], [], [], []]
824 811
825 ms = merge_.mergestate(self) 812 ms = merge_.mergestate(self)
826 for f in changes[0]: 813 for f in changes[0]:
827 if f in ms and ms[f] == 'u': 814 if f in ms and ms[f] == 'u':
828 raise util.Abort(_("unresolved merge conflicts " 815 raise util.Abort(_("unresolved merge conflicts "
829 "(see hg resolve)")) 816 "(see hg resolve)"))
830 wctx = context.workingctx(self, (p1, p2), text, user, date, 817 wctx = context.workingctx(self, (p1, p2), text, user, date,
831 extra, changes) 818 extra, changes)
832 r = self._commitctx(wctx, force, force_editor, empty_ok, 819 r = self._commitctx(wctx, force, force_editor, empty_ok,
833 use_dirstate, update_dirstate) 820 True, True)
834 ms.reset() 821 ms.reset()
835 return r 822 return r
836 823
837 finally: 824 finally:
838 release(lock, wlock) 825 release(lock, wlock)