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

commit: Actually implement qnew (create MQ patch)

Changeset ac2d069da354

Parent f20983eef8ff

by patrice@lacouture.nom.fr

Changes to one file · Browse files at ac2d069da354 Showing diff from parent f20983eef8ff Diff from another changeset...

 
92
93
94
95
 
96
97
98
 
211
212
213
214
 
215
216
217
 
230
231
232
233
234
235
236
237
238
239
 
 
240
241
242
243
244
 
 
 
 
 
 
 
 
245
246
247
248
249
 
596
597
598
 
 
 
 
 
 
 
 
 
 
 
599
600
601
602
603
604
605
606
607
 
625
626
627
 
 
 
628
629
630
631
632
 
767
768
769
770
771
772
773
 
 
 
774
775
776
777
778
779
780
781
782
 
 
 
 
 
 
 
 
 
 
 
 
783
784
785
786
787
788
789
790
 
795
796
797
798
799
 
800
801
802
 
905
906
907
 
 
 
 
 
908
909
910
 
92
93
94
 
95
96
97
98
 
211
212
213
 
214
215
216
217
 
230
231
232
 
233
234
 
 
 
 
235
236
237
 
 
 
 
238
239
240
241
242
243
244
245
246
 
247
248
249
 
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
 
 
 
 
 
611
612
613
 
631
632
633
634
635
636
637
 
638
639
640
 
775
776
777
 
778
779
 
780
781
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
 
915
916
917
918
919
920
921
922
923
924
925
@@ -92,7 +92,7 @@
  self.stwidget.fileDisplayed.connect(self.fileDisplayed)   self.msghistory = []   self.qref = False - + self.opts['patchName'] = None   self.repo = repo = self.stwidget.repo   self.runner = cmdui.Runner(_('Commit'), not embedded, self)   self.runner.output.connect(self.output) @@ -211,7 +211,7 @@
  dlg.setWindowModality(Qt.WindowModal)   if dlg.exec_() == QDialog.Accepted:   self.opts.update(dlg.outopts) - + self.refresh()   def workingBranchChanged(self):   'Repository has detected a change in .hg/branch'   self.refresh() @@ -230,20 +230,20 @@
  self.repo.thginvalidate()   self.refresh()   self.stwidget.refreshWctx() # Trigger reload of working context -   def refresh(self):   # Update qrefresh mode - if self.repo.changectx('.').thgmqappliedpatch(): - self.commitButtonName.emit(_('QRefresh')) - if not self.qref: - self.initQRefreshMode() + if self.opts['patchName']: + self.commitButtonName.emit(_('QNew'))   else: - self.commitButtonName.emit(_('Commit')) - if self.qref: - self.endQRefreshMode() - + if self.repo.changectx('.').thgmqappliedpatch(): + self.commitButtonName.emit(_('QRefresh')) + if not self.qref: + self.initQRefreshMode() + else: + self.commitButtonName.emit(_('Commit')) + if self.qref: + self.endQRefreshMode()   self.msgte.refresh(self.repo) -   # Update message list   self.msgcombo.reset(self.msghistory)   @@ -596,12 +596,18 @@
  except error.Abort, e:   self.showMessage.emit(hglib.tounicode(str(e)))   dcmd = [] + if self.opts['patchName']: + cmdline = ['qnew', '--repository', repo.root, + '--verbose', '--user', user, '--message', msg, + self.opts['patchName'] + ] + else: + cmdline = ['commit', '--repository', repo.root, + '--verbose', '--user', user, '--message', msg] + if self.qref: + cmdline[0] = 'qrefresh' + files = []   - cmdline = ['commit', '--repository', repo.root, - '--verbose', '--user', user, '--message', msg] - if self.qref: - cmdline[0] = 'qrefresh' - files = []   cmdline += dcmd + brcmd + [repo.wjoin(f) for f in files]   for fname in self.opts.get('autoinc', '').split(','):   fname = fname.strip() @@ -625,8 +631,10 @@
  self.msgte.clear()   self.msgte.setModified(False)   self.commitComplete.emit() + if self.opts['patchName']: + self.opts['patchName'] = None + self.refresh()   self.stwidget.refreshWctx() -   def keyPressEvent(self, event):   if event.key() in (Qt.Key_Return, Qt.Key_Enter):   if event.modifiers() == Qt.ControlModifier: @@ -767,24 +775,27 @@
  hbox.addWidget(self.autoincle)   hbox.addWidget(autoincsave)   layout.addLayout(hbox) -   hbox = QHBoxLayout()   # qnew/shelve-patch creation dialog (in another file) - lbl = QLabel(_('New patch (QNew)')) + + self.patchcb = QCheckBox(_('New patch (QNew):')) +   self.patchle = QLineEdit() - self.patchle.returnPressed.connect(self.newPatch) - createpatch = QPushButton(_('Create')) - createpatch.clicked.connect(self.newPatch) - def changed(text): - createpatch.setEnabled(bool(text)) - self.patchle.textChanged.connect(changed) - createpatch.setEnabled(False) - hbox.addWidget(lbl) + self.patchcb.toggled.connect(self.patchle.setEnabled) + + patchName = opts.get('patchName') + if patchName: + self.patchcb.setChecked(True) + self.patchle.setText(hglib.tounicode(patchName)) + self.patchle.setEnabled(True) + else: + self.patchcb.setChecked(False) + self.patchle.setEnabled(False) + + hbox.addWidget(self.patchcb)   hbox.addWidget(self.patchle) - hbox.addWidget(createpatch)   layout.addStretch(10)   layout.addLayout(hbox) -   BB = QDialogButtonBox   bb = QDialogButtonBox(BB.Ok|BB.Cancel)   bb.accepted.connect(self.accept) @@ -795,8 +806,7 @@
  self.setWindowTitle('%s - commit details' % self.repo.displayname)     def newPatch(self): - name = hglib.fromunicode(self.patchle.text()) - # TODO + self.patchName = hglib.fromunicode(self.patchle.text())     def saveInRepo(self):   fn = os.path.join(self.repo.root, '.hg', 'hgrc') @@ -905,6 +915,11 @@
  outopts['pushafter'] = remote   else:   outopts['pushafter'] = '' + outopts['patchName'] = None + if self.patchcb.isChecked(): + patchName = self.patchle.text() + if patchName: + outopts['patchName'] = hglib.fromunicode(patchName)     self.outopts = outopts   QDialog.accept(self)