VCS/ProjectHelper.py

changeset 6158
9765e0c375d0
parent 6048
82ad8ec9548c
child 6167
d6540d533b6d
--- a/VCS/ProjectHelper.py	Sun Feb 18 09:13:03 2018 +0100
+++ b/VCS/ProjectHelper.py	Sun Feb 18 13:47:29 2018 +0100
@@ -218,14 +218,13 @@
         if not self.project.closeProject():
             return
         
-        self.project.pdata["VCS"] = vcsSystem
-        self.project.vcs = self.project.initVCS(vcsSystem)
-        if self.project.vcs is not None:
-            vcsdlg = self.project.vcs.vcsNewProjectOptionsDialog()
+        vcs = self.project.initVCS(vcsSystem)
+        if vcs is not None:
+            vcsdlg = vcs.vcsNewProjectOptionsDialog()
             if vcsdlg.exec_() == QDialog.Accepted:
                 projectdir, vcsDataDict = vcsdlg.getData()
                 # edit VCS command options
-                if self.project.vcs.vcsSupportCommandOptions():
+                if vcs.vcsSupportCommandOptions():
                     vcores = E5MessageBox.yesNo(
                         self.parent(),
                         QCoreApplication.translate(
@@ -240,7 +239,7 @@
                     from .CommandOptionsDialog import VcsCommandOptionsDialog
                     codlg = VcsCommandOptionsDialog(self.project.vcs)
                     if codlg.exec_() == QDialog.Accepted:
-                        self.project.vcs.vcsSetOptions(codlg.getOptions())
+                        vcs.vcsSetOptions(codlg.getOptions())
                 
                 # create the project directory if it doesn't exist already
                 if not os.path.isdir(projectdir):
@@ -256,16 +255,14 @@
                                 "VcsProjectHelper",
                                 "<p>The project directory <b>{0}</b> could not"
                                 " be created.</p>").format(projectdir))
-                        self.project.pdata["VCS"] = 'None'
-                        self.project.vcs = self.project.initVCS()
                         return
                 
                 # create the project from the VCS
-                self.project.vcs.vcsSetDataFromDict(vcsDataDict)
+                vcs.vcsSetDataFromDict(vcsDataDict)
                 if export:
-                    ok = self.project.vcs.vcsExport(vcsDataDict, projectdir)
+                    ok = vcs.vcsExport(vcsDataDict, projectdir)
                 else:
-                    ok = self.project.vcs.vcsCheckout(vcsDataDict, projectdir,
+                    ok = vcs.vcsCheckout(vcsDataDict, projectdir,
                                                       False)
                 if ok:
                     projectdir = os.path.normpath(projectdir)
@@ -276,7 +273,6 @@
                         if len(plist) == 1:
                             self.project.openProject(
                                 plist[0].absoluteFilePath())
-                            self.project.newProject.emit()
                         else:
                             pfilenamelist = d.entryList(filters)
                             pfilename, ok = QInputDialog.getItem(
@@ -291,7 +287,6 @@
                             if ok:
                                 self.project.openProject(
                                     QFileInfo(d, pfilename).absoluteFilePath())
-                                self.project.newProject.emit()
                         if export:
                             self.project.pdata["VCS"] = 'None'
                             self.project.vcs = self.project.initVCS()
@@ -319,14 +314,15 @@
                             if dlg.exec_() == QDialog.Accepted:
                                 dlg.storeData()
                                 self.project.initFileTypes()
+                                self.project.pdata["VCS"] = vcsSystem
                                 self.project.setDirty(True)
-                                try:
+                                if self.project.pdata["MAINSCRIPT"]:
                                     ms = os.path.join(
                                         self.project.ppath,
                                         self.project.pdata["MAINSCRIPT"])
                                     if os.path.exists(ms):
                                         self.project.appendFile(ms)
-                                except IndexError:
+                                else:
                                     ms = ""
                                 self.project.newProjectAddFiles(ms)
                                 self.project.createProjectManagementDir()
@@ -355,11 +351,6 @@
                             "VcsProjectHelper",
                             """The project could not be retrieved from"""
                             """ the repository."""))
-                    self.project.pdata["VCS"] = 'None'
-                    self.project.vcs = self.project.initVCS()
-            else:
-                self.project.pdata["VCS"] = 'None'
-                self.project.vcs = self.project.initVCS()
 
     def _vcsExport(self):
         """

eric ide

mercurial