pyIPCMI.ToolChain.Git.py¶
Exceptions
GitException: Base class for all tool specific exceptions
Classes
Configuration: Base class for all tool Configuration classes.Git: Undocumented.GitSCM: Represent an executable.GitRevParse: Represent an executable.GitRevList: Represent an executable.GitDescribe: Represent an executable.GitConfig: Represent an executable.
-
exception
pyIPCMI.ToolChain.Git.GitException(message='')[source] Inheritance
Members
-
__init__(message='') Exception initializer
Parameters: message (str) – The exception message.
-
__str__() Returns the exception’s message text.
-
args
-
-
class
pyIPCMI.ToolChain.Git.Configuration(host)[source] Inheritance
Members
-
_vendor= 'Git SCM' The name of the tools vendor.
-
_toolName= 'Git' The name of the tool.
-
_section= 'INSTALL.Git' The name of the configuration section. Pattern:
INSTALL.Vendor.ToolName.
-
_template= {'Linux': {'INSTALL.Git': {'Version': '2.8.1', 'InstallationDirectory': '/usr/bin', 'BinaryDirectory': '${InstallationDirectory}', 'HasInstalledGitHooks': 'False', 'HasInstalledGitFilters': 'False'}}, 'Windows': {'INSTALL.Git': {'Version': '2.12.2', 'InstallationDirectory': 'C:/Program Files/Git', 'BinaryDirectory': '${InstallationDirectory}/cmd', 'HasInstalledGitHooks': 'False', 'HasInstalledGitFilters': 'False'}}} The template for the configuration sections represented as nested dictionaries.
-
ConfigureForAll()[source] Start a generic (platform independent) configuration procedure.
Overwrite this method to implement a generic configuration routine for a (tool) Configuration class.
-
_GetDefaultInstallationDirectory()[source] Return unresolved default installation directory (str) from template.
Overwrite function in sub-class for automatic search of installation directory.
-
RunPostConfigurationTasks()[source] Virtual method. Overwrite to execute post-configuration tasks.
-
CheckDependency()[source] Check if all vendor or tool dependencies are fulfilled to configure this tool.
-
ClearSection(writeWarnings=False)[source] Clear the configuration section associated to this Configuration class.
-
ConfigureForDarwin()[source] Start the configuration procedure for Darwin.
This method is a wrapper for
ConfigureForAll(). Overwrite this method to implement a Darwin specific configuration routine.
-
ConfigureForLinux()[source] Start the configuration procedure for Linux.
This method is a wrapper for
ConfigureForAll(). Overwrite this method to implement a Linux specific configuration routine.
-
ConfigureForWindows()[source] Start the configuration procedure for Windows.
This method is a wrapper for
ConfigureForAll(). Overwrite this method to implement a Windows specific configuration routine.
-
classmethod
GetSections(platform)[source] Return all section names for this configuration.
-
Host Return the hosting object.
-
IsConfigured()[source] Return true if the configurations section is configured
-
IsSupportedPlatform()[source] Return true if the given platform is supported by this configuration routine.
-
Log(entry, condition=True) Write an entry to the local logger.
-
LogDebug(*args, condition=True, **kwargs)
-
LogDryRun(*args, condition=True, **kwargs)
-
LogError(*args, condition=True, **kwargs)
-
LogFatal(*args, condition=True, **kwargs)
-
LogInfo(*args, condition=True, **kwargs)
-
LogNormal(*args, condition=True, **kwargs)
-
LogQuiet(*args, condition=True, **kwargs)
-
LogVerbose(*args, condition=True, **kwargs)
-
LogWarning(*args, condition=True, **kwargs)
-
Logger Return the local logger instance.
-
PrepareOptions(writeWarnings=True)[source]
-
PrepareSections(warningWasWritten, writeWarnings=True)[source]
-
PrepareVersionedSections(writeWarnings=False)
-
SectionName Return the configuration’s section name.
-
State Return the configuration state.
-
_Ask(question, default, beforeDefault='', afterDefault='', indent=1)
-
_AskInstalled(question)[source] Ask a Yes/No/Pass question.
-
_AskYes_NoPass(question, indent=1) Ask a yes/NO/pass question.
-
_Ask_YesNoPass(question, indent=1) Ask a YES/no/pass question.
-
_Configuration__GetGitDirectory()
-
_Configuration__InstallGitFilters()
-
_Configuration__InstallGitHooks()
-
_Configuration__IsUnderGitControl()
-
_Configuration__UninstallGitFilters()
-
_Configuration__UninstallGitHooks()
-
_Configuration__WriteGitSection(binPath)
-
_ConfigureBinaryDirectory() Updates section with value from
_templateand returns directory asPathobject.
-
_ConfigureEdition(editions, defaultEdition)
-
_ConfigureInstallationDirectory()[source] Asks for installation directory and updates section. Checks if entered directory exists and returns Path object. If no installation directory was configured before, then _GetDefaultInstallationDir is called.
-
_ConfigureVersion() If no version was configured before, then _GetDefaultVersion is called. Asks for version and updates section. Returns version as string.
-
_GetDefaultEdition() Returns unresolved default edition (str) from template.
Overwrite this method in a sub-class for automatic search of editions.
-
_GetDefaultOptionValue(optionName)[source]
-
_GetDefaultVersion() Returns unresolved default version (str) from template.
Overwrite this method in a sub-class for automatic search of version.
-
_PrintAvailableEditions(editions, selectedEdition) Print all available editions and return the selected index.
-
_TestDefaultInstallPath(defaults)[source] Helper function for automatic search of installation directory.
-
_TryLog(*args, condition=True, **kwargs)
-
_multiVersionSupport= False
-
-
class
pyIPCMI.ToolChain.Git.Git(platform, dryrun, binaryDirectoryPath, version, logger=None)[source] Inheritance
Members
-
GetGitRevParse()[source]
-
GetGitRevList()[source]
-
GetGitDescribe()[source]
-
GetGitConfig()[source]
-
-
class
pyIPCMI.ToolChain.Git.GitSCM(toolchain: pyIPCMI.ToolChain.ToolMixIn)[source] Inheritance
Members
-
Clear()[source]
-
class
Executable[source]
-
class
Switch_Version[source] -
_name= 'version'
-
-
Parameters= [<class 'pyIPCMI.ToolChain.Git.GitSCM.Executable'>, <class 'pyIPCMI.ToolChain.Git.GitSCM.Switch_Version'>]
-
GetReader()
-
Log(entry, condition=True) Write an entry to the local logger.
-
LogDebug(*args, condition=True, **kwargs)
-
LogDryRun(*args, condition=True, **kwargs)
-
LogError(*args, condition=True, **kwargs)
-
LogFatal(*args, condition=True, **kwargs)
-
LogInfo(*args, condition=True, **kwargs)
-
LogNormal(*args, condition=True, **kwargs)
-
LogQuiet(*args, condition=True, **kwargs)
-
LogVerbose(*args, condition=True, **kwargs)
-
LogWarning(*args, condition=True, **kwargs)
-
Logger Return the local logger instance.
-
Path
-
ReadUntilBoundary(indent=0)
-
Send(line, end='\n')
-
SendBoundary()
-
StartProcess(parameterList)
-
Terminate()
-
_TryLog(*args, condition=True, **kwargs)
-
_pyIPCMI_BOUNDARY= '====== pyIPCMI BOUNDARY ======'
-
-
class
pyIPCMI.ToolChain.Git.GitRevParse(toolchain: pyIPCMI.ToolChain.ToolMixIn)[source] Inheritance
Members
-
Clear()[source]
-
class
Command[source] -
_name= 'rev-parse'
-
-
class
SwitchInsideWorkingTree[source] -
_name= 'is-inside-work-tree'
-
-
class
SwitchShowTopLevel[source] -
_name= 'show-toplevel'
-
-
class
SwitchGitDir[source] -
_name= 'git-dir'
-
-
RevParseParameters= [<class 'pyIPCMI.ToolChain.Git.GitRevParse.Command'>, <class 'pyIPCMI.ToolChain.Git.GitRevParse.SwitchInsideWorkingTree'>, <class 'pyIPCMI.ToolChain.Git.GitRevParse.SwitchShowTopLevel'>, <class 'pyIPCMI.ToolChain.Git.GitRevParse.SwitchGitDir'>]
-
Execute()[source]
-
class
Executable
-
GetReader()
-
Log(entry, condition=True) Write an entry to the local logger.
-
LogDebug(*args, condition=True, **kwargs)
-
LogDryRun(*args, condition=True, **kwargs)
-
LogError(*args, condition=True, **kwargs)
-
LogFatal(*args, condition=True, **kwargs)
-
LogInfo(*args, condition=True, **kwargs)
-
LogNormal(*args, condition=True, **kwargs)
-
LogQuiet(*args, condition=True, **kwargs)
-
LogVerbose(*args, condition=True, **kwargs)
-
LogWarning(*args, condition=True, **kwargs)
-
Logger Return the local logger instance.
-
Parameters= [<class 'pyIPCMI.ToolChain.Git.GitSCM.Executable'>, <class 'pyIPCMI.ToolChain.Git.GitSCM.Switch_Version'>]
-
Path
-
ReadUntilBoundary(indent=0)
-
Send(line, end='\n')
-
SendBoundary()
-
StartProcess(parameterList)
-
class
Switch_Version -
_name= 'version'
-
-
Terminate()
-
_TryLog(*args, condition=True, **kwargs)
-
_pyIPCMI_BOUNDARY= '====== pyIPCMI BOUNDARY ======'
-
-
class
pyIPCMI.ToolChain.Git.GitRevList(toolchain: pyIPCMI.ToolChain.ToolMixIn)[source] Inheritance
Members
-
Clear()[source]
-
class
Command[source] -
_name= 'rev-list'
-
-
class
SwitchTags[source] -
_name= 'tags'
-
-
class
SwitchMaxCount[source] -
_name= 'max-count'
-
-
RevListParameters= [<class 'pyIPCMI.ToolChain.Git.GitRevList.Command'>, <class 'pyIPCMI.ToolChain.Git.GitRevList.SwitchTags'>, <class 'pyIPCMI.ToolChain.Git.GitRevList.SwitchMaxCount'>]
-
Execute()[source]
-
class
Executable
-
GetReader()
-
Log(entry, condition=True) Write an entry to the local logger.
-
LogDebug(*args, condition=True, **kwargs)
-
LogDryRun(*args, condition=True, **kwargs)
-
LogError(*args, condition=True, **kwargs)
-
LogFatal(*args, condition=True, **kwargs)
-
LogInfo(*args, condition=True, **kwargs)
-
LogNormal(*args, condition=True, **kwargs)
-
LogQuiet(*args, condition=True, **kwargs)
-
LogVerbose(*args, condition=True, **kwargs)
-
LogWarning(*args, condition=True, **kwargs)
-
Logger Return the local logger instance.
-
Parameters= [<class 'pyIPCMI.ToolChain.Git.GitSCM.Executable'>, <class 'pyIPCMI.ToolChain.Git.GitSCM.Switch_Version'>]
-
Path
-
ReadUntilBoundary(indent=0)
-
Send(line, end='\n')
-
SendBoundary()
-
StartProcess(parameterList)
-
class
Switch_Version -
_name= 'version'
-
-
Terminate()
-
_TryLog(*args, condition=True, **kwargs)
-
_pyIPCMI_BOUNDARY= '====== pyIPCMI BOUNDARY ======'
-
-
class
pyIPCMI.ToolChain.Git.GitDescribe(toolchain: pyIPCMI.ToolChain.ToolMixIn)[source] Inheritance
Members
-
Clear()[source]
-
class
Command[source] -
_name= 'describe'
-
-
class
SwitchAbbrev[source] -
_name= 'abbrev'
-
-
class
SwitchTags[source] -
_name= 'tags'
-
-
DescribeParameters= [<class 'pyIPCMI.ToolChain.Git.GitDescribe.Command'>, <class 'pyIPCMI.ToolChain.Git.GitDescribe.SwitchAbbrev'>, <class 'pyIPCMI.ToolChain.Git.GitDescribe.SwitchTags'>]
-
Execute()[source]
-
class
Executable
-
GetReader()
-
Log(entry, condition=True) Write an entry to the local logger.
-
LogDebug(*args, condition=True, **kwargs)
-
LogDryRun(*args, condition=True, **kwargs)
-
LogError(*args, condition=True, **kwargs)
-
LogFatal(*args, condition=True, **kwargs)
-
LogInfo(*args, condition=True, **kwargs)
-
LogNormal(*args, condition=True, **kwargs)
-
LogQuiet(*args, condition=True, **kwargs)
-
LogVerbose(*args, condition=True, **kwargs)
-
LogWarning(*args, condition=True, **kwargs)
-
Logger Return the local logger instance.
-
Parameters= [<class 'pyIPCMI.ToolChain.Git.GitSCM.Executable'>, <class 'pyIPCMI.ToolChain.Git.GitSCM.Switch_Version'>]
-
Path
-
ReadUntilBoundary(indent=0)
-
Send(line, end='\n')
-
SendBoundary()
-
StartProcess(parameterList)
-
class
Switch_Version -
_name= 'version'
-
-
Terminate()
-
_TryLog(*args, condition=True, **kwargs)
-
_pyIPCMI_BOUNDARY= '====== pyIPCMI BOUNDARY ======'
-
-
class
pyIPCMI.ToolChain.Git.GitConfig(toolchain: pyIPCMI.ToolChain.ToolMixIn)[source] Inheritance
Members
-
Clear()[source]
-
class
Command[source] -
_name= 'config'
-
-
class
SwitchUnset[source] -
_name= 'unset'
-
-
class
SwitchRemoveSection[source] -
_name= 'remove-section'
-
-
class
ValueFilterClean[source] -
_name= 'clean'
-
_pattern= 'filter.{1}.{0}'
-
-
class
ValueFilterSmudge[source] -
_name= 'smudge'
-
_pattern= 'filter.{1}.{0}'
-
-
class
ValueFilterParameters[source]
-
ConfigParameters= [<class 'pyIPCMI.ToolChain.Git.GitConfig.Command'>, <class 'pyIPCMI.ToolChain.Git.GitConfig.SwitchUnset'>, <class 'pyIPCMI.ToolChain.Git.GitConfig.SwitchRemoveSection'>, <class 'pyIPCMI.ToolChain.Git.GitConfig.ValueFilterClean'>, <class 'pyIPCMI.ToolChain.Git.GitConfig.ValueFilterSmudge'>, <class 'pyIPCMI.ToolChain.Git.GitConfig.ValueFilterParameters'>]
-
Execute()[source]
-
class
Executable
-
GetReader()
-
Log(entry, condition=True) Write an entry to the local logger.
-
LogDebug(*args, condition=True, **kwargs)
-
LogDryRun(*args, condition=True, **kwargs)
-
LogError(*args, condition=True, **kwargs)
-
LogFatal(*args, condition=True, **kwargs)
-
LogInfo(*args, condition=True, **kwargs)
-
LogNormal(*args, condition=True, **kwargs)
-
LogQuiet(*args, condition=True, **kwargs)
-
LogVerbose(*args, condition=True, **kwargs)
-
LogWarning(*args, condition=True, **kwargs)
-
Logger Return the local logger instance.
-
Parameters= [<class 'pyIPCMI.ToolChain.Git.GitSCM.Executable'>, <class 'pyIPCMI.ToolChain.Git.GitSCM.Switch_Version'>]
-
Path
-
ReadUntilBoundary(indent=0)
-
Send(line, end='\n')
-
SendBoundary()
-
StartProcess(parameterList)
-
class
Switch_Version -
_name= 'version'
-
-
Terminate()
-
_TryLog(*args, condition=True, **kwargs)
-
_pyIPCMI_BOUNDARY= '====== pyIPCMI BOUNDARY ======'
-