Plugins/VcsPlugins/vcsGit/git.py

changeset 6078
bbdc284c1bfc
parent 6048
82ad8ec9548c
child 6303
ec9ebaf206fb
equal deleted inserted replaced
6077:a7673d735aab 6078:bbdc284c1bfc
20 from PyQt5.QtCore import QProcess, pyqtSignal, QFileInfo 20 from PyQt5.QtCore import QProcess, pyqtSignal, QFileInfo
21 from PyQt5.QtWidgets import QApplication, QDialog, QInputDialog, QLineEdit 21 from PyQt5.QtWidgets import QApplication, QDialog, QInputDialog, QLineEdit
22 22
23 from E5Gui.E5Application import e5App 23 from E5Gui.E5Application import e5App
24 from E5Gui import E5MessageBox, E5FileDialog 24 from E5Gui import E5MessageBox, E5FileDialog
25
26 from Globals.E5ConfigParser import E5ConfigParser
27 25
28 from QScintilla.MiniEditor import MiniEditor 26 from QScintilla.MiniEditor import MiniEditor
29 27
30 from VCS.VersionControl import VersionControl 28 from VCS.VersionControl import VersionControl
31 from VCS.RepositoryInfoDialog import VcsRepositoryInfoDialog 29 from VCS.RepositoryInfoDialog import VcsRepositoryInfoDialog
3772 """ 3770 """
3773 submodulesFile = os.path.join(repodir, ".gitmodules") 3771 submodulesFile = os.path.join(repodir, ".gitmodules")
3774 if not os.path.exists(submodulesFile): 3772 if not os.path.exists(submodulesFile):
3775 return [] 3773 return []
3776 3774
3777 configParser = E5ConfigParser() 3775 try:
3778 if configParser.read(submodulesFile): 3776 modulesFile = open(submodulesFile, "r")
3779 submodules = [] 3777 contents = modulesFile.readlines()
3780 for submodule in configParser: 3778 modulesFile.close()
3781 if submodule.startswith("submodule"): 3779 except OSError:
3782 submoduleDict = {"name": submodule.split(None, 1)[1][1:-1]} 3780 # silently ignore them
3783 section = configParser[submodule] 3781 return []
3784 submoduleDict["path"] = section["path"] 3782
3785 submoduleDict["url"] = section["url"] 3783 submodules = []
3786 if "branch" in section: 3784 submoduleDict = None
3787 submoduleDict["branch"] = section["branch"] 3785 for line in contents:
3788 else: 3786 line = line.strip()
3787 if line.startswith("[submodule"):
3788 if submoduleDict:
3789 if "branch" not in submoduleDict:
3789 submoduleDict["branch"] = "" 3790 submoduleDict["branch"] = ""
3790 submodules.append(submoduleDict) 3791 submodules.append(submoduleDict)
3791 return submodules 3792 submoduleDict = {"name": line.split(None, 1)[1][1:-2]}
3792 3793 elif "=" in line:
3793 return [] 3794 option, value = line.split("=", 1)
3795 submoduleDict[option.strip()] = value.strip()
3796 if submoduleDict:
3797 if "branch" not in submoduleDict:
3798 submoduleDict["branch"] = ""
3799 submodules.append(submoduleDict)
3800
3801 return submodules
3794 3802
3795 def gitSubmoduleList(self, projectDir): 3803 def gitSubmoduleList(self, projectDir):
3796 """ 3804 """
3797 Public method to show a list of all submodules of the project. 3805 Public method to show a list of all submodules of the project.
3798 3806

eric ide

mercurial