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

mq: add functionality for revisioning and commiting the current patch queue

We'll need to make it possible to open the MQ repository in the workbench in
some way.

Changeset bc754dc329d9

Parent 829d1fa05c90

by Steve Borho

Changes to one file · Browse files at bc754dc329d9 Showing diff from parent 829d1fa05c90 Diff from another changeset...

 
104
105
106
107
 
108
109
110
 
148
149
150
 
151
152
153
 
154
155
156
 
186
187
188
 
 
 
 
 
 
 
189
190
191
 
206
207
208
 
 
 
 
 
 
 
 
 
 
 
209
210
211
 
277
278
279
280
281
 
 
 
 
282
283
284
285
286
 
287
 
 
 
 
288
289
290
 
104
105
106
 
107
108
109
110
 
148
149
150
151
152
153
154
155
156
157
158
 
188
189
190
191
192
193
194
195
196
197
198
199
200
 
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
 
297
298
299
 
 
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
@@ -104,7 +104,7 @@
  self.guardSelBtn = QPushButton()   layout.addWidget(self.guardSelBtn, 0)   - self.revisionOrCommitBtn = QPushButton(_('Revision Queue')) + self.revisionOrCommitBtn = QPushButton()   layout.addWidget(self.revisionOrCommitBtn, 0)     # Message Frame @@ -148,9 +148,11 @@
  self.cmd.output.connect(self.output)   self.cmd.makeLogVisible.connect(self.makeLogVisible)   self.cmd.progress.connect(self.progress) + self.cmd.commandFinished.connect(self.onCommandFinished)     self.shelveBtn.pressed.connect(self.launchShelveTool)   self.optionsBtn.pressed.connect(self.launchOptionsDialog) + self.revisionOrCommitBtn.pressed.connect(self.qinitOrCommit)   self.msgHistoryCombo.activated.connect(self.onMessageSelected)     self.repo.configChanged.connect(self.onConfigChanged) @@ -186,6 +188,13 @@
  self.reload()     @pyqtSlot(int) + def onCommandFinished(self, ret): + self.repo.decrementBusyCount() + if ret is not 0: + pass # TODO: look for reject notifications + self.reload() + + @pyqtSlot(int)   def onMessageSelected(self, row):   if self.messageEditor.text() and self.messageEditor.isModified():   d = QMessageBox.question(self, _('Confirm Discard Message'), @@ -206,6 +215,17 @@
  self.messageEditor.setFocus()     @pyqtSlot() + def qinitOrCommit(self): + if os.path.isdir(self.repo.mq.join('.hg')): + dlg = commit.CommitDialog([], dict(root=self.repo.mq.path), self) + dlg.finished.connect(dlg.deleteLater) + dlg.exec_() + self.reload() + else: + self.repo.incrementBusyCount() + self.cmd.run(['qinit', '-c', '-R', self.repo.root]) + + @pyqtSlot()   def launchShelveTool(self):   dlg = shelve.ShelveDialog(self.repo, self)   dlg.finished.connect(dlg.deleteLater) @@ -277,14 +297,21 @@
  self.messages.append((patch, msg))   self.msgHistoryCombo.reset(self.messages)   - # update enabled states of qtbarhbox buttons - # refresh self.revisionOrCommitBtn + if os.path.isdir(self.repo.mq.join('.hg')): + self.revisionOrCommitBtn.setText(_('Commit Queue')) + else: + self.revisionOrCommitBtn.setText(_('Revision Queue'))     # refresh self.messageEditor with qtip description, if not new   # set self.patchNameLE to qtip patch name, if not new   # refresh self.qnewOrRefreshBtn   # refresh self.fileListWidget +   self.refreshSelectedGuards() + self.refreshTbarStates() + + def refreshTbarStates(self): + pass     def refreshSelectedGuards(self):   count, total = 0, 0