src/eric7/Plugins/VcsPlugins/vcsMercurial/hg.py

branch
eric7
changeset 9482
a2bc06a54d9d
parent 9473
3f23dbf37dbe
child 9573
9960d19d66b5
diff -r 0b936ff1bbb9 -r a2bc06a54d9d src/eric7/Plugins/VcsPlugins/vcsMercurial/hg.py
--- a/src/eric7/Plugins/VcsPlugins/vcsMercurial/hg.py	Sun Nov 06 11:22:39 2022 +0100
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/hg.py	Mon Nov 07 17:19:58 2022 +0100
@@ -51,6 +51,17 @@
         @param parent parent widget (QWidget)
         @param name name of this object (string)
         """
+        from .CloseheadExtension.closehead import Closehead
+        from .GpgExtension.gpg import Gpg
+        from .HgUtilities import getConfigPath
+        from .HisteditExtension.histedit import Histedit
+        from .LargefilesExtension.largefiles import Largefiles
+        from .PurgeExtension.purge import Purge
+        from .QueuesExtension.queues import Queues
+        from .RebaseExtension.rebase import Rebase
+        from .ShelveExtension.shelve import Shelve
+        from .StripExtension.strip import Strip
+
         VersionControl.__init__(self, parent, name)
         self.defaultOptions = {
             "global": [""],
@@ -117,8 +128,6 @@
 
         self.__activeExtensions = []
 
-        from .HgUtilities import getConfigPath
-
         self.__iniWatcher = QFileSystemWatcher(self)
         self.__iniWatcher.fileChanged.connect(self.__iniFileChanged)
         cfgFile = getConfigPath()
@@ -135,16 +144,6 @@
         self.__defaultPushConfigured = False
 
         # instantiate the extensions
-        from .CloseheadExtension.closehead import Closehead
-        from .GpgExtension.gpg import Gpg
-        from .HisteditExtension.histedit import Histedit
-        from .LargefilesExtension.largefiles import Largefiles
-        from .PurgeExtension.purge import Purge
-        from .QueuesExtension.queues import Queues
-        from .RebaseExtension.rebase import Rebase
-        from .ShelveExtension.shelve import Shelve
-        from .StripExtension.strip import Strip
-
         self.__extensions = {
             "mq": Queues(self),
             "purge": Purge(self),
@@ -400,6 +399,8 @@
         @param mq flag indicating a queue commit (boolean)
         @param merge flag indicating a merge commit (boolean)
         """
+        from .HgCommitDialog import HgCommitDialog
+
         msg = message
 
         if mq or merge:
@@ -409,8 +410,6 @@
         if not noDialog:
             # call CommitDialog and get message from there
             if self.__commitDialog is None:
-                from .HgCommitDialog import HgCommitDialog
-
                 self.__commitDialog = HgCommitDialog(self, msg, mq, merge, self.__ui)
                 self.__commitDialog.accepted.connect(self.__vcsCommit_Step2)
             self.__commitDialog.show()
@@ -723,6 +722,8 @@
         @param noDialog flag indicating quiet operations
         @return flag indicating successfull operation (boolean)
         """
+        from .HgCopyDialog import HgCopyDialog
+
         isDir = os.path.isdir(name)
 
         res = False
@@ -732,8 +733,6 @@
             force = True
             accepted = True
         else:
-            from .HgCopyDialog import HgCopyDialog
-
             dlg = HgCopyDialog(name, None, True)
             accepted = dlg.exec() == QDialog.DialogCode.Accepted
             if accepted:
@@ -781,6 +780,8 @@
 
         @param name file/directory name to be diffed (string)
         """
+        from .HgDiffDialog import HgDiffDialog
+
         names = name[:] if isinstance(name, list) else [name]
         for nam in names:
             if os.path.isfile(nam):
@@ -792,8 +793,6 @@
                 if nam == project.ppath and not project.saveAllScripts():
                     return
         if self.diff is None:
-            from .HgDiffDialog import HgDiffDialog
-
             self.diff = HgDiffDialog(self)
         self.diff.show()
         self.diff.raise_()
@@ -808,9 +807,9 @@
         @param name file/directory name(s) to show the status of
             (string or list of strings)
         """
+        from .HgStatusDialog import HgStatusDialog
+
         if self.status is None:
-            from .HgStatusDialog import HgStatusDialog
-
             self.status = HgStatusDialog(self)
         self.status.show()
         self.status.raise_()
@@ -825,9 +824,9 @@
         @param largefiles flag indicating to show the largefiles status as
             well (boolean)
         """
+        from .HgSummaryDialog import HgSummaryDialog
+
         if self.summary is None:
-            from .HgSummaryDialog import HgSummaryDialog
-
             self.summary = HgSummaryDialog(self)
         self.summary.show()
         self.summary.raise_()
@@ -893,6 +892,8 @@
             or delete
         @rtype bool
         """
+        from eric7.UI.DeleteFilesConfirmationDialog import DeleteFilesConfirmationDialog
+
         args = self.initCommand("revert")
         if not self.getPlugin().getPreferences("CreateBackup"):
             args.append("--no-backup")
@@ -907,10 +908,6 @@
         project = ericApp().getObject("Project")
         names = [project.getRelativePath(nam) for nam in names]
         if names[0]:
-            from eric7.UI.DeleteFilesConfirmationDialog import (
-                DeleteFilesConfirmationDialog,
-            )
-
             dlg = DeleteFilesConfirmationDialog(
                 self.parent(),
                 self.tr("Revert changes"),
@@ -951,9 +948,9 @@
         @param rev revision to merge with
         @type str
         """
+        from .HgMergeDialog import HgMergeDialog
+
         if not rev:
-            from .HgMergeDialog import HgMergeDialog
-
             dlg = HgMergeDialog(
                 self.hgGetTagsList(),
                 self.hgGetBranchesList(),
@@ -988,6 +985,8 @@
 
         @param name file/directory name to be merged (string)
         """
+        from eric7.UI.DeleteFilesConfirmationDialog import DeleteFilesConfirmationDialog
+
         args = self.initCommand("resolve")
         if self.getPlugin().getPreferences("InternalMerge"):
             args.append("--tool")
@@ -1002,10 +1001,6 @@
         project = ericApp().getObject("Project")
         names = [project.getRelativePath(nam) for nam in names]
         if names[0]:
-            from eric7.UI.DeleteFilesConfirmationDialog import (
-                DeleteFilesConfirmationDialog,
-            )
-
             dlg = DeleteFilesConfirmationDialog(
                 self.parent(),
                 self.tr("Re-Merge"),
@@ -1486,9 +1481,9 @@
         @param skiplist name of a skip list file
         @type str
         """
+        from .HgAnnotateDialog import HgAnnotateDialog
+
         if self.annotate is None:
-            from .HgAnnotateDialog import HgAnnotateDialog
-
             self.annotate = HgAnnotateDialog(self)
         self.annotate.show()
         self.annotate.raise_()
@@ -1508,6 +1503,9 @@
 
         @param name file/directory name to be diffed (string)
         """
+        from .HgDiffDialog import HgDiffDialog
+        from .HgRevisionsSelectionDialog import HgRevisionsSelectionDialog
+
         names = name[:] if isinstance(name, list) else [name]
         for nam in names:
             if os.path.isfile(nam):
@@ -1519,8 +1517,6 @@
                 if nam == project.ppath and not project.saveAllScripts():
                     return
 
-        from .HgRevisionsSelectionDialog import HgRevisionsSelectionDialog
-
         dlg = HgRevisionsSelectionDialog(
             self.hgGetTagsList(),
             self.hgGetBranchesList(),
@@ -1529,8 +1525,6 @@
         if dlg.exec() == QDialog.DialogCode.Accepted:
             revisions = dlg.getRevisions()
             if self.diff is None:
-                from .HgDiffDialog import HgDiffDialog
-
                 self.diff = HgDiffDialog(self)
             self.diff.show()
             self.diff.raise_()
@@ -1566,12 +1560,14 @@
         @param revisions tuple of two revisions (tuple of strings)
         @exception ValueError raised to indicate an invalid name parameter
         """
+        from eric7.UI.CompareDialog import CompareDialog
+
+        from .HgRevisionsSelectionDialog import HgRevisionsSelectionDialog
+
         if isinstance(name, list):
             raise ValueError("Wrong parameter type")
 
         if extended:
-            from .HgRevisionsSelectionDialog import HgRevisionsSelectionDialog
-
             dlg = HgRevisionsSelectionDialog(
                 self.hgGetTagsList(),
                 self.hgGetBranchesList(),
@@ -1618,8 +1614,6 @@
                 return
 
         if self.sbsDiff is None:
-            from eric7.UI.CompareDialog import CompareDialog
-
             self.sbsDiff = CompareDialog()
         self.sbsDiff.show()
         self.sbsDiff.raise_()
@@ -1634,12 +1628,12 @@
         @param isFile flag indicating log for a file is to be shown
             (boolean)
         """
+        from .HgLogBrowserDialog import HgLogBrowserDialog
+
         if name == self.getClient().getRepository():
             name = None
 
         if self.logBrowser is None:
-            from .HgLogBrowserDialog import HgLogBrowserDialog
-
             self.logBrowser = HgLogBrowserDialog(self)
         self.logBrowser.show()
         self.logBrowser.raise_()
@@ -1650,9 +1644,9 @@
         Public method used to view the log of incoming changes from the
         Mercurial repository.
         """
+        from .HgLogBrowserDialog import HgLogBrowserDialog
+
         if self.logBrowserIncoming is None:
-            from .HgLogBrowserDialog import HgLogBrowserDialog
-
             self.logBrowserIncoming = HgLogBrowserDialog(self, mode="incoming")
         self.logBrowserIncoming.show()
         self.logBrowserIncoming.raise_()
@@ -1663,9 +1657,9 @@
         Public method used to view the log of outgoing changes from the
         Mercurial repository.
         """
+        from .HgLogBrowserDialog import HgLogBrowserDialog
+
         if self.logBrowserOutgoing is None:
-            from .HgLogBrowserDialog import HgLogBrowserDialog
-
             self.logBrowserOutgoing = HgLogBrowserDialog(self, mode="outgoing")
         self.logBrowserOutgoing.show()
         self.logBrowserOutgoing.raise_()
@@ -1843,9 +1837,9 @@
         """
         Public method used to show a list of files containing conflicts.
         """
+        from .HgConflictsListDialog import HgConflictsListDialog
+
         if self.conflictsDlg is None:
-            from .HgConflictsListDialog import HgConflictsListDialog
-
             self.conflictsDlg = HgConflictsListDialog(self)
         self.conflictsDlg.show()
         self.conflictsDlg.raise_()
@@ -1975,6 +1969,8 @@
             section of the data dialog
         @type dict
         """
+        from .HgRepoConfigDataDialog import HgRepoConfigDataDialog
+
         if repoName is None:
             repoName = self.getClient().getRepository()
 
@@ -1982,8 +1978,6 @@
         if not os.path.exists(cfgFile):
             # open dialog to enter the initial data
             withLargefiles = self.isExtensionActive("largefiles") and withLargefiles
-            from .HgRepoConfigDataDialog import HgRepoConfigDataDialog
-
             dlg = HgRepoConfigDataDialog(
                 withLargefiles=withLargefiles, largefilesData=largefilesData
             )
@@ -2143,9 +2137,9 @@
         @param bundleData dictionary containing the bundle creation information
         @type dict
         """
+        from .HgBundleDialog import HgBundleDialog
+
         if bundleData is None:
-            from .HgBundleDialog import HgBundleDialog
-
             dlg = HgBundleDialog(
                 self.hgGetTagsList(),
                 self.hgGetBranchesList(),
@@ -2221,6 +2215,8 @@
         Public method used to view the log of incoming changes from a
         changegroup file.
         """
+        from .HgLogBrowserDialog import HgLogBrowserDialog
+
         file = EricFileDialog.getOpenFileName(
             None,
             self.tr("Preview changegroup"),
@@ -2231,8 +2227,6 @@
             self.__lastChangeGroupPath = os.path.dirname(file)
 
             if self.logBrowserIncoming is None:
-                from .HgLogBrowserDialog import HgLogBrowserDialog
-
                 self.logBrowserIncoming = HgLogBrowserDialog(self, mode="incoming")
             self.logBrowserIncoming.show()
             self.logBrowserIncoming.raise_()
@@ -2291,6 +2285,8 @@
         @type str
         @exception ValueError raised to indicate an invalid bisect subcommand
         """
+        from .HgRevisionSelectionDialog import HgRevisionSelectionDialog
+
         if subcommand not in ("good", "bad", "skip", "reset"):
             raise ValueError(
                 self.tr("Bisect subcommand ({0}) invalid.").format(subcommand)
@@ -2298,8 +2294,6 @@
 
         rev = ""
         if subcommand in ("good", "bad", "skip"):
-            from .HgRevisionSelectionDialog import HgRevisionSelectionDialog
-
             dlg = HgRevisionSelectionDialog(
                 self.hgGetTagsList(),
                 self.hgGetBranchesList(),
@@ -2524,9 +2518,9 @@
         @return flag indicating success (boolean)
         @exception ValueError raised to indicate an invalid phase
         """
+        from .HgPhaseDialog import HgPhaseDialog
+
         if data is None:
-            from .HgPhaseDialog import HgPhaseDialog
-
             dlg = HgPhaseDialog()
             if dlg.exec() == QDialog.DialogCode.Accepted:
                 data = dlg.getData()
@@ -2806,6 +2800,8 @@
         """
         Public method to remove sub-repositories.
         """
+        from .HgRemoveSubrepositoriesDialog import HgRemoveSubrepositoriesDialog
+
         hgsub = self.getHgSubPath()
 
         subrepositories = []
@@ -2834,8 +2830,6 @@
             )
             return
 
-        from .HgRemoveSubrepositoriesDialog import HgRemoveSubrepositoriesDialog
-
         dlg = HgRemoveSubrepositoriesDialog(subrepositories)
         if dlg.exec() == QDialog.DialogCode.Accepted:
             subrepositories, removedSubrepos, deleteSubrepos = dlg.getData()
@@ -3115,11 +3109,11 @@
         """
         Public method used to list the available bookmarks.
         """
+        from .HgBookmarksListDialog import HgBookmarksListDialog
+
         self.bookmarksList = []
 
         if self.bookmarksListDlg is None:
-            from .HgBookmarksListDialog import HgBookmarksListDialog
-
             self.bookmarksListDlg = HgBookmarksListDialog(self)
         self.bookmarksListDlg.show()
         self.bookmarksListDlg.raise_()
@@ -3156,11 +3150,11 @@
         @param revision revision to set bookmark for (string)
         @param bookmark name of the bookmark (string)
         """
+        from .HgBookmarkDialog import HgBookmarkDialog
+
         if bool(revision) and bool(bookmark):
             ok = True
         else:
-            from .HgBookmarkDialog import HgBookmarkDialog
-
             dlg = HgBookmarkDialog(
                 HgBookmarkDialog.DEFINE_MODE,
                 self.hgGetTagsList(),
@@ -3219,9 +3213,9 @@
         @param renameInfo old and new names of the bookmark
         @type tuple of str and str
         """
+        from .HgBookmarkRenameDialog import HgBookmarkRenameDialog
+
         if not renameInfo:
-            from .HgBookmarkRenameDialog import HgBookmarkRenameDialog
-
             dlg = HgBookmarkRenameDialog(self.hgGetBookmarksList())
             if dlg.exec() == QDialog.DialogCode.Accepted:
                 renameInfo = dlg.getData()
@@ -3244,11 +3238,11 @@
         @param revision revision to set bookmark for (string)
         @param bookmark name of the bookmark (string)
         """
+        from .HgBookmarkDialog import HgBookmarkDialog
+
         if bool(revision) and bool(bookmark):
             ok = True
         else:
-            from .HgBookmarkDialog import HgBookmarkDialog
-
             dlg = HgBookmarkDialog(
                 HgBookmarkDialog.MOVE_MODE,
                 self.hgGetTagsList(),

eric ide

mercurial