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) |