Anonymous avatar Anonymous committed 251bc56

SyncMq: some more improvements

Comments (0)

Files changed (1)

 # HG changeset patch
 # Parent 7c8ecf007c306b39bc2824473c6cf19d4ba13141
-sync: support --mq option for the sync commands
+sync: add support for the --mq option in the sync tool
+
+This patch adds a combobox to the sync options dialog if the mq extension is
+enabled. If one checks that combobox, the sync commands will work on the patch
+queue by using the --mq option. If the mq extension is disabled while the
+combobox is still checked, the mq option is removed.
 
 diff -r 7c8ecf007c30 tortoisehg/hgqt/sync.py
 --- a/tortoisehg/hgqt/sync.py	Thu Nov 17 14:44:44 2011 -0500
-+++ b/tortoisehg/hgqt/sync.py	Fri Nov 18 08:11:13 2011 +0100
-@@ -92,7 +92,7 @@
++++ b/tortoisehg/hgqt/sync.py	Fri Nov 18 08:47:15 2011 +0100
+@@ -92,10 +92,11 @@
          self.targetargs = []
  
          s = QSettings()
 +        for opt in ('subrepos', 'force', 'new-branch', 'noproxy', 'debug', 'mq'):
              val = s.value('sync/' + opt, None).toBool()
              if val:
-                 self.opts[opt] = val
-@@ -719,7 +719,8 @@
+-                self.opts[opt] = val
++                if opt != 'mq' or 'mq' in self.repo.extensions():
++                    self.opts[opt] = val
+         for opt in ('remotecmd', 'branch'):
+             val = str(s.value('sync/' + opt, None).toString())
+             if val:
+@@ -719,7 +720,8 @@
  
          safeurl = self.currentUrl(True)
          display = ' '.join(cmdline + [safeurl]).replace('\n', '^M')
          self.repo.incrementBusyCount()
          self.cmd.run(cmdline, display=display, useproc='p4://' in cururl)
  
-@@ -796,7 +797,7 @@
+@@ -796,7 +798,7 @@
              self.finishfunc = finished
              cmdline = ['--repository', self.repo.root, 'incoming', '--quiet',
                         '--bundle', bfile]
          else:
              def finished(ret, output):
                  if ret == 0:
-@@ -807,7 +808,7 @@
+@@ -807,7 +809,7 @@
                      self.showMessage.emit(_('Incoming from %s aborted, ret %d') % (urlu, ret))
              self.finishfunc = finished
              cmdline = ['--repository', self.repo.root, 'incoming']
  
      def pullclicked(self):
          self.syncStarted.emit()
-@@ -846,7 +847,7 @@
+@@ -846,7 +848,7 @@
              cmdline += ['--update', '--config', uimerge]
          elif self.cachedpp == 'fetch':
              cmdline[2] = 'fetch'
  
      def outclicked(self):
          self.syncStarted.emit()
-@@ -873,11 +874,11 @@
+@@ -873,11 +875,11 @@
              self.finishfunc = outputnodes
              cmdline = ['--repository', self.repo.root, 'outgoing', '--quiet',
                         '--template', '{node}\n']
  
      def p4pending(self):
          p4url = self.currentUrl(False)
-@@ -923,7 +924,7 @@
+@@ -923,7 +925,7 @@
          self.run(['--repository', self.repo.root, 'p4pending', '--verbose'], ())
  
      def pushclicked(self, confirm, rev=None, branch=None):
          self.syncStarted.emit()
          url = self.currentUrl(True)
          urlu = hglib.tounicode(url)
-@@ -1546,6 +1547,12 @@
+@@ -1546,6 +1548,12 @@
          self.debugcb.setChecked(opts.get('debug', False))
          layout.addWidget(self.debugcb)
  
-+        if 'mq' in repo.extensions() or opts.get('mq'):
++        if 'mq' in self.repo.extensions():
 +            self.mqcb = QCheckBox(
 +                _('Work on patch queue (--mq)'))
 +            self.mqcb.setChecked(opts.get('mq', False))
          form = QFormLayout()
          layout.addLayout(form)
  
-@@ -1579,6 +1586,7 @@
+@@ -1579,6 +1587,8 @@
          outopts['new-branch'] = self.newbranchcb.isChecked()
          outopts['noproxy'] = self.noproxycb.isChecked()
          outopts['debug'] = self.debugcb.isChecked()
-+        outopts['mq'] = self.mqcb.isChecked()
++        if 'mq' in self.repo.extensions():
++            outopts['mq'] = self.mqcb.isChecked()
  
          self.outopts = outopts
          QDialog.accept(self)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.