hgext/mq.py
changeset 9145 6b03f93b8ff3
parent 9111 ac3f1e6696eb
child 9167 b67adc2daa15
equal deleted inserted replaced
9144:ad72e3b08bc0 9145:6b03f93b8ff3
  2413         def push(self, remote, force=False, revs=None):
  2413         def push(self, remote, force=False, revs=None):
  2414             if self.mq.applied and not force and not revs:
  2414             if self.mq.applied and not force and not revs:
  2415                 raise util.Abort(_('source has mq patches applied'))
  2415                 raise util.Abort(_('source has mq patches applied'))
  2416             return super(mqrepo, self).push(remote, force, revs)
  2416             return super(mqrepo, self).push(remote, force, revs)
  2417 
  2417 
  2418         def tags(self):
  2418         def _findtags(self):
  2419             if self.tagscache:
  2419             '''augment tags from base class with patch tags'''
  2420                 return self.tagscache
  2420             result = super(mqrepo, self)._findtags()
  2421 
       
  2422             tagscache = super(mqrepo, self).tags()
       
  2423 
  2421 
  2424             q = self.mq
  2422             q = self.mq
  2425             if not q.applied:
  2423             if not q.applied:
  2426                 return tagscache
  2424                 return result
  2427 
  2425 
  2428             mqtags = [(bin(patch.rev), patch.name) for patch in q.applied]
  2426             mqtags = [(bin(patch.rev), patch.name) for patch in q.applied]
  2429 
  2427 
  2430             if mqtags[-1][0] not in self.changelog.nodemap:
  2428             if mqtags[-1][0] not in self.changelog.nodemap:
  2431                 self.ui.warn(_('mq status file refers to unknown node %s\n')
  2429                 self.ui.warn(_('mq status file refers to unknown node %s\n')
  2432                              % short(mqtags[-1][0]))
  2430                              % short(mqtags[-1][0]))
  2433                 return tagscache
  2431                 return result
  2434 
  2432 
  2435             mqtags.append((mqtags[-1][0], 'qtip'))
  2433             mqtags.append((mqtags[-1][0], 'qtip'))
  2436             mqtags.append((mqtags[0][0], 'qbase'))
  2434             mqtags.append((mqtags[0][0], 'qbase'))
  2437             mqtags.append((self.changelog.parents(mqtags[0][0])[0], 'qparent'))
  2435             mqtags.append((self.changelog.parents(mqtags[0][0])[0], 'qparent'))
       
  2436             tags = result[0]
  2438             for patch in mqtags:
  2437             for patch in mqtags:
  2439                 if patch[1] in tagscache:
  2438                 if patch[1] in tags:
  2440                     self.ui.warn(_('Tag %s overrides mq patch of the same name\n')
  2439                     self.ui.warn(_('Tag %s overrides mq patch of the same name\n')
  2441                                  % patch[1])
  2440                                  % patch[1])
  2442                 else:
  2441                 else:
  2443                     tagscache[patch[1]] = patch[0]
  2442                     tags[patch[1]] = patch[0]
  2444 
  2443 
  2445             return tagscache
  2444             return result
  2446 
  2445 
  2447         def _branchtags(self, partial, lrev):
  2446         def _branchtags(self, partial, lrev):
  2448             q = self.mq
  2447             q = self.mq
  2449             if not q.applied:
  2448             if not q.applied:
  2450                 return super(mqrepo, self)._branchtags(partial, lrev)
  2449                 return super(mqrepo, self)._branchtags(partial, lrev)