Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 1.9, 1.9.1, and 1.9.2

repowidget: use cmdui.Runner to perform export commands

Changeset 3b2f94981d8f

Parent 9e384b626728

by Steve Borho

Changes to one file · Browse files at 3b2f94981d8f Showing diff from parent 9e384b626728 Diff from another changeset...

 
9
10
11
12
 
13
14
15
 
365
366
367
368
 
369
370
371
 
782
783
784
 
 
 
 
 
 
 
 
 
785
786
787
788
789
790
791
792
793
 
798
799
800
801
802
803
804
 
805
806
 
807
808
809
810
811
 
812
 
813
814
815
 
819
820
821
 
822
823
824
825
826
 
827
828
829
 
852
853
854
855
856
857
858
 
859
860
861
 
904
905
906
907
908
909
910
911
912
913
 
9
10
11
 
12
13
14
15
 
365
366
367
 
368
369
370
371
 
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
 
799
800
801
 
806
807
808
 
 
 
 
809
810
 
811
812
 
 
 
 
813
814
815
816
817
818
 
822
823
824
825
826
827
828
829
830
831
832
833
834
 
857
858
859
 
 
 
 
860
861
862
863
 
906
907
908
 
 
 
 
909
910
911
@@ -9,7 +9,7 @@
 import binascii  import os   -from mercurial import util, revset, commands +from mercurial import util, revset    from tortoisehg.util import shlib, hglib   @@ -365,7 +365,7 @@
  ('merge', _('Merge with...'), 'merge', None, None, self.mergeWithRevision),   ('tag', _('Tag...'), 'tag', None, None, self.tagToRevision),   ('backout', _('Backout...'), None, None, None, self.backoutToRevision), - ('export', _('Export patch...'), None, None, None, self.exportRevision), + ('export', _('Export patch...'), None, None, None, self.exportRevisions),   ('email', _('Email patch...'), None, None, None, self.emailRevision),   ('archive', _('Archive...'), None, None, None, self.archiveRevision),   ('copyhash', _('Copy hash'), None, None, None, self.copyHash), @@ -782,12 +782,20 @@
    self.singlecmenu.exec_(point)   + def exportRevisions(self, revisions): + if not revisions: + revisions = [self.rev] + epath = os.path.join(self.repo.root, self.repo.shortname + '_%r.patch') + cmdline = ['export', '--repository', self.repo.root, '--output', epath] + for rev in revisions: + cmdline.extend(['--rev', str(rev)]) + self.runCommand(_('Export - TortoiseHg'), cmdline) +   def doubleSelectionMenu(self, point, selection):   for r in selection:   # No pair menu if working directory or unapplied patch   if type(r) is not int:   return - revA, revB = selection   def dagrange():   if revA > revB:   B, A = selection @@ -798,18 +806,13 @@
  return [c for c in func(self.repo, range(len(self.repo)))]     def exportPair(): - epath = os.path.join(self.repo.root, - self.repo.shortname + '_%r.patch') - commands.export(self.repo.ui, self.repo, str(revA), str(revB), - output=epath) + self.exportRevisions(selection)   def exportDagRange(): - l = [str(r) for r in dagrange()] + l = dagrange()   if l: - epath = os.path.join(self.repo.root, - self.repo.shortname + '_%r.patch') - commands.export(self.repo.ui, self.repo, *l, - output=epath) + self.exportRevisions(l)   def diffPair(): + revA, revB = selection   visdiff.visualdiff(self.repo.ui, self.repo, [],   {'rev':'%s:%s' % (revA, revB)})   def emailPair(): @@ -819,11 +822,13 @@
  if l:   run.email(self.repo.ui, rev=l, repo=self.repo)   def bisectNormal(): + revA, revB = selection   opts = {'good':str(revA), 'bad':str(revB)}   dlg = bisect.BisectDialog(self.repo, opts, self)   dlg.finished.connect(dlg.deleteLater)   dlg.exec_()   def bisectReverse(): + revA, revB = selection   opts = {'good':str(revB), 'bad':str(revA)}   dlg = bisect.BisectDialog(self.repo, opts, self)   dlg.finished.connect(dlg.deleteLater) @@ -852,10 +857,7 @@
  if type(r) is not int:   return   def exportSel(): - epath = os.path.join(self.repo.root, - self.repo.shortname + '_%r.patch') - commands.export(self.repo.ui, self.repo, - *[str(a) for a in selection], output=epath) + self.exportRevisions(selection)   def emailSel():   run.email(self.repo.ui, rev=selection, repo=self.repo)   if not self.multicmenu: @@ -904,10 +906,6 @@
  run.postreview(self.repo.ui, rev=self.repoview.selectedRevisions(),   repo=self.repo)   - def exportRevision(self): - epath = os.path.join(self.repo.root, self.repo.shortname + '_%r.patch') - commands.export(self.repo.ui, self.repo, str(self.rev), output=epath) -   def emailRevision(self):   run.email(self.repo.ui, rev=self.repoview.selectedRevisions(),   repo=self.repo)