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 'Copy patch' changeset and working directory menu option

Changeset e831dfdaa9e9

Parent 00db0183423a

by Waqas Hussain

Changes to one file · Browse files at e831dfdaa9e9 Showing diff from parent 00db0183423a Diff from another changeset...

 
862
863
864
 
865
866
867
 
1123
1124
1125
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1126
1127
1128
 
862
863
864
865
866
867
868
 
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
@@ -862,6 +862,7 @@
  (None, isrev, _('Export patch'), None, self.exportRevisions),   (None, isrev, _('Email patch...'), None, self.emailRevision),   (None, isrev, _('Archive...'), None, self.archiveRevision), + (None, isctx, _('Copy patch'), None, self.copyPatch),   (None, isrev, _('Copy hash'), None, self.copyHash),   ('transplant', fixed, _('Transplant to local'), None,   self.transplantRevision), @@ -1123,6 +1124,25 @@
  dlg.progress.connect(self.progress)   dlg.exec_()   + def copyPatch(self): + from mercurial import commands, ui + _ui = self.repo.ui + _ui.pushbuffer() + try: + if self.rev: + commands.export(_ui, self.repo, self.rev, output=_ui) + else: + commands.diff(_ui, self.repo) + except Exception, e: + _ui.popbuffer() + self.showMessage(hglib.tounicode(str(e))) + if 'THGDEBUG' in os.environ: + import traceback + traceback.print_exc() + return + output = _ui.popbuffer() + QApplication.clipboard().setText(output) +   def copyHash(self):   clip = QApplication.clipboard()   clip.setText(binascii.hexlify(self.repo[self.rev].node()))