Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py

branch
5_4_x
changeset 3245
48311fa7c52c
parent 3160
209a07d7e401
child 3248
38d32752025c
diff -r 7cb4665c9c05 -r 48311fa7c52c Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py
--- a/Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py	Fri Jan 31 12:20:32 2014 +0100
+++ b/Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py	Sat Feb 01 15:49:04 2014 +0100
@@ -124,6 +124,7 @@
         self.activateWindow()
         self.raise_()
         
+        preargs = []
         args = []
         args.append(self.mode)
         self.vcs.addArguments(args, self.vcs.options['global'])
@@ -154,7 +155,12 @@
                 project = e5App().getObject("Project")
                 self.vcs.bundleFile = os.path.join(
                     project.getProjectManagementDir(), "hg-bundle.hg")
-                args.append('--bundle')
+                if os.path.exists(self.vcs.bundleFile):
+                    os.remove(self.vcs.bundleFile)
+                preargs = args[:]
+                preargs.append("--quiet")
+                preargs.append('--bundle')
+                preargs.append(self.vcs.bundleFile)
                 args.append(self.vcs.bundleFile)
         if revisions:
             for rev in revisions:
@@ -167,22 +173,35 @@
             self.inputGroup.setEnabled(False)
             self.inputGroup.hide()
             
-            out, err = self.__hgClient.runcommand(args)
-            
+            if preargs:
+                out, err = self.__hgClient.runcommand(preargs)
+            else:
+                err = ""
             if err:
                 self.__showError(err)
-            if out and self.isVisible():
-                for line in out.splitlines(True):
-                    self.__processOutputLine(line)
-                    if self.__hgClient.wasCanceled():
-                        break
-            
+            else:
+                out, err = self.__hgClient.runcommand(args)
+                if err:
+                    self.__showError(err)
+                if out and self.isVisible():
+                    for line in out.splitlines(True):
+                        self.__processOutputLine(line)
+                        if self.__hgClient.wasCanceled():
+                            break
             self.__finish()
         else:
             self.process.kill()
             
             self.process.setWorkingDirectory(self.repodir)
             
+            if preargs:
+                process = QProcess()
+                process.setWorkingDirectory(self.repodir)
+                process.start('hg', args)
+                procStarted = process.waitForStarted(5000)
+                if procStarted:
+                    process.waitForFinished(30000)
+            
             self.process.start('hg', args)
             procStarted = self.process.waitForStarted(5000)
             if not procStarted:

eric ide

mercurial