eric6/Plugins/VcsPlugins/vcsMercurial/HgDiffGenerator.py

changeset 7771
787a6b3f8c9f
parent 7370
5fb53279f2df
child 7775
4a1db75550bd
diff -r 49f3377aebf1 -r 787a6b3f8c9f eric6/Plugins/VcsPlugins/vcsMercurial/HgDiffGenerator.py
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgDiffGenerator.py	Fri Oct 09 17:19:29 2020 +0200
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgDiffGenerator.py	Sat Oct 10 12:20:51 2020 +0200
@@ -11,6 +11,8 @@
 
 from PyQt5.QtCore import pyqtSignal, QObject
 
+from E5Gui.E5OverrideCursor import E5OverrideCursor
+
 
 class HgDiffGenerator(QObject):
     """
@@ -64,59 +66,60 @@
         @return flag indicating a successful start of the diff command
             (boolean)
         """
-        if qdiff:
-            args = self.vcs.initCommand("qdiff")
-        else:
-            args = self.vcs.initCommand("diff")
-            
-            if self.vcs.hasSubrepositories():
-                args.append("--subrepos")
-            
-            if bundle:
-                args.append('--repository')
-                args.append(bundle)
-            elif self.vcs.bundleFile and os.path.exists(self.vcs.bundleFile):
-                args.append('--repository')
-                args.append(self.vcs.bundleFile)
-            
-            if versions is not None:
-                rev1 = self.__getVersionArg(versions[0])
-                rev2 = None
-                if len(versions) == 2:
-                    rev2 = self.__getVersionArg(versions[1])
+        with E5OverrideCursor():
+            if qdiff:
+                args = self.vcs.initCommand("qdiff")
+            else:
+                args = self.vcs.initCommand("diff")
+                
+                if self.vcs.hasSubrepositories():
+                    args.append("--subrepos")
+                
+                if bundle:
+                    args.append('--repository')
+                    args.append(bundle)
+                elif self.vcs.bundleFile and os.path.exists(self.vcs.bundleFile):
+                    args.append('--repository')
+                    args.append(self.vcs.bundleFile)
                 
-                if rev1 is not None or rev2 is not None:
-                    args.append('-r')
-                    if rev1 is not None and rev2 is not None:
-                        args.append('{0}:{1}'.format(rev1, rev2))
-                    elif rev2 is None:
-                        args.append(rev1)
-                    elif rev1 is None:
-                        args.append(':{0}'.format(rev2))
-        
-        if isinstance(fn, list):
-            dname, fnames = self.vcs.splitPathList(fn)
-            self.vcs.addArguments(args, fn)
-        else:
-            dname, fname = self.vcs.splitPath(fn)
-            args.append(fn)
-        
-        self.__oldFile = ""
-        self.__oldFileLine = -1
-        self.__fileSeparators = []
-        self.__output = []
-        self.__errors = []
-        
-        out, err = self.__hgClient.runcommand(args)
-        
-        if err:
-            self.__errors = err.splitlines(True)
-        
-        if out:
-            for line in out.splitlines(True):
-                self.__processOutputLine(line)
-                if self.__hgClient.wasCanceled():
-                    break
+                if versions is not None:
+                    rev1 = self.__getVersionArg(versions[0])
+                    rev2 = None
+                    if len(versions) == 2:
+                        rev2 = self.__getVersionArg(versions[1])
+                    
+                    if rev1 is not None or rev2 is not None:
+                        args.append('-r')
+                        if rev1 is not None and rev2 is not None:
+                            args.append('{0}:{1}'.format(rev1, rev2))
+                        elif rev2 is None:
+                            args.append(rev1)
+                        elif rev1 is None:
+                            args.append(':{0}'.format(rev2))
+            
+            if isinstance(fn, list):
+                dname, fnames = self.vcs.splitPathList(fn)
+                self.vcs.addArguments(args, fn)
+            else:
+                dname, fname = self.vcs.splitPath(fn)
+                args.append(fn)
+            
+            self.__oldFile = ""
+            self.__oldFileLine = -1
+            self.__fileSeparators = []
+            self.__output = []
+            self.__errors = []
+            
+            out, err = self.__hgClient.runcommand(args)
+            
+            if err:
+                self.__errors = err.splitlines(True)
+            
+            if out:
+                for line in out.splitlines(True):
+                    self.__processOutputLine(line)
+                    if self.__hgClient.wasCanceled():
+                        break
         
         self.__finish()
         

eric ide

mercurial