VCS.ProjectHelper, Project.Project: fix the handling when a VCS clone or export operation fails.

Wed, 24 Oct 2018 19:59:49 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 24 Oct 2018 19:59:49 +0200
changeset 6558
db48660ca7c0
parent 6557
09d3f1d68958
child 6559
1265efa7364f

VCS.ProjectHelper, Project.Project: fix the handling when a VCS clone or export operation fails.

APIs/Python3/eric6.api file | annotate | diff | comparison | revisions
Documentation/Help/source.qch file | annotate | diff | comparison | revisions
Documentation/Help/source.qhp file | annotate | diff | comparison | revisions
Documentation/Source/eric6.Project.Project.html file | annotate | diff | comparison | revisions
Project/Project.py file | annotate | diff | comparison | revisions
VCS/ProjectHelper.py file | annotate | diff | comparison | revisions
--- a/APIs/Python3/eric6.api	Wed Oct 24 19:18:40 2018 +0200
+++ b/APIs/Python3/eric6.api	Wed Oct 24 19:59:49 2018 +0200
@@ -7984,6 +7984,7 @@
 eric6.Project.Project.Project.renameMainScript?4(oldfn, newfn)
 eric6.Project.Project.Project.reopenProject?4()
 eric6.Project.Project.Project.repopulateItem?4(fullname)
+eric6.Project.Project.Project.resetVCS?4()
 eric6.Project.Project.Project.saveAllScripts?4(reportSyntaxErrors=False)
 eric6.Project.Project.Project.saveProject?4()
 eric6.Project.Project.Project.saveProjectAs?4()
Binary file Documentation/Help/source.qch has changed
--- a/Documentation/Help/source.qhp	Wed Oct 24 19:18:40 2018 +0200
+++ b/Documentation/Help/source.qhp	Wed Oct 24 19:59:49 2018 +0200
@@ -12764,6 +12764,7 @@
       <keyword name="Project.renameMainScript" id="Project.renameMainScript" ref="eric6.Project.Project.html#Project.renameMainScript" />
       <keyword name="Project.reopenProject" id="Project.reopenProject" ref="eric6.Project.Project.html#Project.reopenProject" />
       <keyword name="Project.repopulateItem" id="Project.repopulateItem" ref="eric6.Project.Project.html#Project.repopulateItem" />
+      <keyword name="Project.resetVCS" id="Project.resetVCS" ref="eric6.Project.Project.html#Project.resetVCS" />
       <keyword name="Project.saveAllScripts" id="Project.saveAllScripts" ref="eric6.Project.Project.html#Project.saveAllScripts" />
       <keyword name="Project.saveProject" id="Project.saveProject" ref="eric6.Project.Project.html#Project.saveProject" />
       <keyword name="Project.saveProjectAs" id="Project.saveProjectAs" ref="eric6.Project.Project.html#Project.saveProjectAs" />
--- a/Documentation/Source/eric6.Project.Project.html	Wed Oct 24 19:18:40 2018 +0200
+++ b/Documentation/Source/eric6.Project.Project.html	Wed Oct 24 19:59:49 2018 +0200
@@ -725,6 +725,9 @@
 <td><a href="#Project.repopulateItem">repopulateItem</a></td>
 <td>Public slot to repopulate a named item.</td>
 </tr><tr>
+<td><a href="#Project.resetVCS">resetVCS</a></td>
+<td>Public method to reset the VCS.</td>
+</tr><tr>
 <td><a href="#Project.saveAllScripts">saveAllScripts</a></td>
 <td>Public method to save all scripts belonging to the project.</td>
 </tr><tr>
@@ -2669,7 +2672,12 @@
 <dd>
 full name of the item to repopulate (string)
 </dd>
-</dl><a NAME="Project.saveAllScripts" ID="Project.saveAllScripts"></a>
+</dl><a NAME="Project.resetVCS" ID="Project.resetVCS"></a>
+<h4>Project.resetVCS</h4>
+<b>resetVCS</b>(<i></i>)
+<p>
+        Public method to reset the VCS.
+</p><a NAME="Project.saveAllScripts" ID="Project.saveAllScripts"></a>
 <h4>Project.saveAllScripts</h4>
 <b>saveAllScripts</b>(<i>reportSyntaxErrors=False</i>)
 <p>
--- a/Project/Project.py	Wed Oct 24 19:18:40 2018 +0200
+++ b/Project/Project.py	Wed Oct 24 19:59:49 2018 +0200
@@ -4783,8 +4783,17 @@
             if self.vcsMenu is not None:
                 self.vcsProjectHelper.initMenu(self.vcsMenu)
                 self.vcsMenu.setEnabled(self.vcsSoftwareAvailable())
+        
         return vcs
-        
+    
+    def resetVCS(self):
+        """
+        Public method to reset the VCS.
+        """
+        self.pdata["VCS"] = 'None'
+        self.vcs = self.initVCS()
+        e5App().getObject("PluginManager").deactivateVcsPlugins()
+    
     def __showContextMenuVCS(self):
         """
         Private slot called before the vcs menu is shown.
--- a/VCS/ProjectHelper.py	Wed Oct 24 19:18:40 2018 +0200
+++ b/VCS/ProjectHelper.py	Wed Oct 24 19:59:49 2018 +0200
@@ -258,6 +258,7 @@
                                 "VcsProjectHelper",
                                 "<p>The project directory <b>{0}</b> could not"
                                 " be created.</p>").format(projectdir))
+                        self.project.resetVCS()
                         return
                 
                 # create the project from the VCS
@@ -353,6 +354,7 @@
                             "VcsProjectHelper",
                             """The project could not be retrieved from"""
                             """ the repository."""))
+                    self.project.resetVCS()
 
     def _vcsExport(self):
         """

eric ide

mercurial