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: add visual diff changeset menu options

Visual diff should work on anything but unapplied patches, including the working
directory. Diff to local requires a revision number.

Changeset 8d18eb04377b

Parent d21506a7887f

by Steve Borho

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

 
595
596
597
598
599
600
601
 
602
603
604
 
826
827
828
829
830
831
832
833
834
 
 
 
 
 
835
836
837
 
1015
1016
1017
 
 
 
 
 
 
 
 
 
 
 
 
 
1018
1019
1020
 
595
596
597
 
 
 
 
598
599
600
601
 
823
824
825
 
 
 
 
 
 
826
827
828
829
830
831
832
833
 
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
@@ -595,10 +595,7 @@
  if qgoto:   self.qgotoRevision()   else: - opts = dict(change=rev) - dlg = visdiff.visualdiff(self.repo.ui, self.repo, [], opts) - if dlg: - dlg.exec_() + self.visualDiffRevision()     def reload(self):   'Initiate a refresh of the repo model, rebuild graph' @@ -826,12 +823,11 @@
  exs = self.repo.extensions()   menu = QMenu(self)   for ext, func, desc, icon, cb in ( - (None, isrev, _('Update...'), 'update', - self.updateToRevision), - (None, fixed, _('Merge with...'), 'merge', - self.mergeWithRevision), - (None, isctx, _('Browse at rev...'), None, - self.manifestRevision), + (None, isrev, _('Update...'), 'update', self.updateToRevision), + (None, isctx, _('Visual diff...'), None, self.visualDiffRevision), + (None, isrev, _('Diff to local...'), None, self.visualDiffToLocal), + (None, fixed, _('Merge with...'), 'merge', self.mergeWithRevision), + (None, isctx, _('Browse at rev...'), None, self.manifestRevision),   (None, fixed, _('Tag...'), 'tag', self.tagToRevision),   ('bookmarks', fixed, _('Bookmark...'), 'bookmark',   self.bookmarkRevision), @@ -1015,6 +1011,19 @@
  cmdline.extend(['--rev', str(rev)])   self.runCommand(_('Export - TortoiseHg'), cmdline)   + def visualDiffRevision(self): + opts = dict(change=self.rev) + dlg = visdiff.visualdiff(self.repo.ui, self.repo, [], opts) + if dlg: + dlg.exec_() + + def visualDiffToLocal(self): + assert type(self.rev) is int + opts = dict(rev=['rev(%d)' % self.rev]) + dlg = visdiff.visualdiff(self.repo.ui, self.repo, [], opts) + if dlg: + dlg.exec_() +   def updateToRevision(self):   dlg = update.UpdateDialog(self.repo, self.rev, self)   dlg.output.connect(self.output)