hgext/mq.py
changeset 2836 307439d6fede
parent 2833 addd03c7fbfa
child 2838 851b07ec450c
equal deleted inserted replaced
2835:2ff57e3113a4 2836:307439d6fede
  1830         finally:
  1830         finally:
  1831             q.save_dirty()
  1831             q.save_dirty()
  1832 
  1832 
  1833 def reposetup(ui, repo):
  1833 def reposetup(ui, repo):
  1834     class mqrepo(repo.__class__):
  1834     class mqrepo(repo.__class__):
       
  1835         def abort_if_wdir_patched(self, errmsg, force=False):
       
  1836             if self.mq.applied and not force:
       
  1837                 parent = revlog.hex(self.dirstate.parents()[0])
       
  1838                 if parent in [s.rev for s in self.mq.applied]:
       
  1839                     raise util.Abort(errmsg)
       
  1840             
  1835         def commit(self, *args, **opts):
  1841         def commit(self, *args, **opts):
  1836             if len(args) >= 6:
  1842             if len(args) >= 6:
  1837                 force = args[5]
  1843                 force = args[5]
  1838             else:
  1844             else:
  1839                 force = opts.get('force')
  1845                 force = opts.get('force')
       
  1846             self.abort_if_wdir_patched(
       
  1847                 _('cannot commit over an applied mq patch'),
       
  1848                 force)
       
  1849 
       
  1850             return super(mqrepo, self).commit(*args, **opts)
       
  1851 
       
  1852         def push(self, remote, force=False, revs=None):
  1840             if self.mq.applied and not force:
  1853             if self.mq.applied and not force:
  1841                 parent = revlog.hex(self.dirstate.parents()[0])
  1854                 raise util.Abort(_('source has mq patches applied'))
  1842                 if parent in [s.rev for s in self.mq.applied]:
  1855             return super(mqrepo, self).push(remote, force, revs)
  1843                     raise util.Abort(_('cannot commit over an applied mq patch'))
  1856             
  1844 
       
  1845             return super(mqrepo, self).commit(*args, **opts)
       
  1846 
       
  1847         def tags(self):
  1857         def tags(self):
  1848             if self.tagscache:
  1858             if self.tagscache:
  1849                 return self.tagscache
  1859                 return self.tagscache
  1850 
  1860 
  1851             tagscache = super(mqrepo, self).tags()
  1861             tagscache = super(mqrepo, self).tags()