Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 1.9.3, 2.0, and 2.0.1

stable repowidget: activating an MQ patch or qparent should be a goto operation

Changeset d21506a7887f

Parent 39aa62ad5529

by Steve Borho

Changes to one file · Browse files at d21506a7887f Showing diff from parent 39aa62ad5529 Diff from another changeset...

 
131
132
133
134
 
135
136
137
 
582
583
584
585
586
587
588
589
590
591
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
592
593
594
 
131
132
133
 
134
135
136
137
 
582
583
584
 
 
 
 
 
 
 
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
@@ -131,7 +131,7 @@
  view.revisionClicked.connect(self.onRevisionClicked)   view.revisionSelected.connect(self.onRevisionSelected)   view.revisionAltClicked.connect(self.onRevisionSelected) - view.revisionActivated.connect(self.revision_activated) + view.revisionActivated.connect(self.onRevisionActivated)   view.showMessage.connect(self.showMessage)   view.menuRequested.connect(self.viewMenuRequest)   @@ -582,13 +582,23 @@
  self._reload_rev = rev   self.repoview.goto(rev)   - def revision_activated(self, rev=None): - rev = rev or self.rev - if isinstance(rev, basestring): # unapplied patch - return - dlg = visdiff.visualdiff(self.repo.ui, self.repo, [], {'change':rev}) - if dlg: - dlg.exec_() + def onRevisionActivated(self, rev): + qgoto = False + if isinstance(rev, basestring): + qgoto = True + else: + ctx = self.repo.changectx(rev) + if 'qparent' in ctx.tags() or ctx.thgmqappliedpatch(): + qgoto = True + if 'qtip' in ctx.tags(): + qgoto = False + if qgoto: + self.qgotoRevision() + else: + opts = dict(change=rev) + dlg = visdiff.visualdiff(self.repo.ui, self.repo, [], opts) + if dlg: + dlg.exec_()     def reload(self):   'Initiate a refresh of the repo model, rebuild graph'