eric6.VCS.VersionControl
Module implementing an abstract base class to be subclassed by all specific
VCS interfaces.
Global Attributes
Classes
VersionControl |
Class implementing an abstract base class to be subclassed by all specific VCS interfaces. |
Functions
VersionControl
Class implementing an abstract base class to be subclassed by all specific
VCS interfaces.
It defines the vcs interface to be implemented by subclasses
and the common methods.
Signals
- vcsStatusChanged()
-
emitted to indicate a change of the overall
VCS status
- vcsStatusMonitorData(list of str)
-
emitted to update the VCS status
- vcsStatusMonitorInfo(str)
-
emitted to signal some info of the
monitoring thread
- vcsStatusMonitorStatus(str, str)
-
emitted to signal the status of
the monitoring thread (ok, nok, op, off) and a status message
Derived from
QObject
Class Attributes
Class Methods
Methods
VersionControl |
Constructor |
__statusMonitorData |
Private method to receive the status monitor status. |
__statusMonitorInfo |
Private slot to receive the status monitor info message. |
__statusMonitorStatus |
Private slot to receive the status monitor status. |
_createStatusMonitorThread |
Protected method to create an instance of the VCS status monitor thread. |
addArguments |
Public method to add an argument list to the already present arguments. |
checkVCSStatus |
Public method to wake up the VCS status monitor thread. |
clearStatusCache |
Public method to clear the status cache. |
clearStatusMonitorCachedState |
Public method to clear the cached VCS state of a file/directory. |
getStatusMonitorAutoUpdate |
Public method to retrieve the status of the auto update function. |
getStatusMonitorInterval |
Public method to get the monitor interval. |
setStatusMonitorAutoUpdate |
Public method to enable the auto update function. |
setStatusMonitorInterval |
Public method to change the monitor interval. |
splitPath |
Public method splitting name into a directory part and a file part. |
splitPathList |
Public method splitting the list of names into a common directory part and a file list. |
startStatusMonitor |
Public method to start the VCS status monitor thread. |
startSynchronizedProcess |
Public method to start a synchroneous process. |
stopStatusMonitor |
Public method to stop the VCS status monitor thread. |
vcsAdd |
Public method used to add a file/directory in the vcs. |
vcsAddBinary |
Public method used to add a file/directory in binary mode in the vcs. |
vcsAddTree |
Public method to add a directory tree rooted at path in the vcs. |
vcsAllRegisteredStates |
Public method used to get the registered states of a number of files in the vcs. |
vcsCheckout |
Public method used to check the project out of the vcs. |
vcsCleanup |
Public method used to cleanup the local copy. |
vcsCommandLine |
Public method used to execute arbitrary vcs commands. |
vcsCommit |
Public method used to make the change of a file/directory permanent in the vcs. |
vcsConvertProject |
Public method to convert an uncontrolled project to a version controlled project. |
vcsDiff |
Public method used to view the diff of a file/directory in the vcs. |
vcsExists |
Public method used to test for the presence of the vcs. |
vcsExport |
Public method used to export a directory from the vcs. |
vcsGetOptions |
Public method used to retrieve the options of the vcs. |
vcsGetOtherData |
Public method used to retrieve vcs specific data. |
vcsGetProjectBrowserHelper |
Public method to instanciate a helper object for the different project browsers. |
vcsGetProjectHelper |
Public method to instanciate a helper object for the project. |
vcsImport |
Public method used to import the project into the vcs. |
vcsInit |
Public method used to initialize the vcs. |
vcsInitConfig |
Public method to initialize the VCS configuration. |
vcsLogBrowser |
Public method used to view the log of a file/directory in the vcs with a log browser dialog. |
vcsMerge |
Public method used to merge a tag/branch into the local project. |
vcsMove |
Public method used to move a file/directory. |
vcsName |
Public method returning the name of the vcs. |
vcsNewProjectOptionsDialog |
Public method to get a dialog to enter repository info for getting a new project. |
vcsOptionsDialog |
Public method to get a dialog to enter repository info. |
vcsRegisteredState |
Public method used to get the registered state of a file in the vcs. |
vcsRemove |
Public method used to add a file/directory in the vcs. |
vcsRepositoryInfos |
Public method to retrieve information about the repository. |
vcsRevert |
Public method used to revert changes made to a file/directory. |
vcsSetData |
Public method used to set an entry in the otherData dictionary. |
vcsSetDataFromDict |
Public method used to set entries in the otherData dictionary. |
vcsSetOptions |
Public method used to set the options for the vcs. |
vcsSetOtherData |
Public method used to set vcs specific data. |
vcsShutdown |
Public method used to shutdown the vcs interface. |
vcsStatus |
Public method used to view the status of a file/directory in the vcs. |
vcsSupportCommandOptions |
Public method to signal the support of user settable command options. |
vcsSwitch |
Public method used to switch a directory to a different tag/branch. |
vcsTag |
Public method used to set the tag of a file/directory in the vcs. |
vcsUpdate |
Public method used to update a file/directory in the vcs. |
Static Methods
VersionControl (Constructor)
VersionControl(parent=None, name=None)
Constructor
- parent
-
parent widget (QWidget)
- name
-
name of this object (string)
VersionControl.__statusMonitorData
__statusMonitorData(statusList)
Private method to receive the status monitor status.
It simply re-emits the received status list.
- statusList (list of str)
-
list of status records
VersionControl.__statusMonitorInfo
__statusMonitorInfo(info)
Private slot to receive the status monitor info message.
It simply re-emits the received info message.
- info (str)
-
received info message
VersionControl.__statusMonitorStatus
__statusMonitorStatus(status, statusMsg)
Private slot to receive the status monitor status.
It simply re-emits the received status.
- status (str (one of ok, nok or off))
-
status of the monitoring thread
- statusMsg (str)
-
explanotory text for the signaled status
VersionControl._createStatusMonitorThread
_createStatusMonitorThread(interval, project)
Protected method to create an instance of the VCS status monitor
thread.
Note: This method should be overwritten in subclasses in order to
support VCS status monitoring.
- interval
-
check interval for the monitor thread in seconds
(integer)
- project
-
reference to the project object
- Returns:
-
reference to the monitor thread (QThread)
VersionControl.addArguments
addArguments(args, argslist)
Public method to add an argument list to the already present
arguments.
- args
-
current arguments list (list of strings)
- argslist
-
list of arguments (list of strings)
VersionControl.checkVCSStatus
checkVCSStatus()
Public method to wake up the VCS status monitor thread.
VersionControl.clearStatusCache
clearStatusCache()
Public method to clear the status cache.
VersionControl.clearStatusMonitorCachedState
clearStatusMonitorCachedState(name)
Public method to clear the cached VCS state of a file/directory.
- name
-
name of the entry to be cleared (string)
VersionControl.getStatusMonitorAutoUpdate
getStatusMonitorAutoUpdate()
Public method to retrieve the status of the auto update function.
- Returns:
-
status of the auto update function (boolean)
VersionControl.getStatusMonitorInterval
getStatusMonitorInterval()
Public method to get the monitor interval.
- Returns:
-
interval in seconds (integer)
VersionControl.setStatusMonitorAutoUpdate
setStatusMonitorAutoUpdate(auto)
Public method to enable the auto update function.
- auto
-
status of the auto update function (boolean)
VersionControl.setStatusMonitorInterval
setStatusMonitorInterval(interval, project)
Public method to change the monitor interval.
- interval
-
new interval in seconds (integer)
- project
-
reference to the project object
VersionControl.splitPath
splitPath(name)
Public method splitting name into a directory part and a file part.
- name
-
path name (string)
- Returns:
-
a tuple of 2 strings (dirname, filename).
VersionControl.splitPathList
splitPathList(names)
Public method splitting the list of names into a common directory part
and a file list.
- names
-
list of paths (list of strings)
- Returns:
-
a tuple of string and list of strings (dirname, filenamelist)
VersionControl.startStatusMonitor
startStatusMonitor(project)
Public method to start the VCS status monitor thread.
- project
-
reference to the project object
- Returns:
-
reference to the monitor thread (QThread)
VersionControl.startSynchronizedProcess
startSynchronizedProcess(proc, program, arguments, workingDir=None)
Public method to start a synchroneous process.
This method starts a process and waits
for its end while still serving the Qt event loop.
- proc
-
process to start (QProcess)
- program
-
path of the executable to start (string)
- arguments
-
list of arguments for the process (list of strings)
- workingDir
-
working directory for the process (string)
- Returns:
-
flag indicating normal exit (boolean)
VersionControl.stopStatusMonitor
stopStatusMonitor()
Public method to stop the VCS status monitor thread.
VersionControl.vcsAdd
vcsAdd(name, isDir=False, noDialog=False)
Public method used to add a file/directory in the vcs.
- name
-
file/directory name to be added (string)
- isDir
-
flag indicating name is a directory (boolean)
- noDialog
-
flag indicating quiet operations (boolean)
- Raises RuntimeError:
-
to indicate that this method must be
implemented by a subclass
VersionControl.vcsAddBinary
vcsAddBinary(name, isDir=False)
Public method used to add a file/directory in binary mode in the vcs.
- name
-
file/directory name to be added (string)
- isDir
-
flag indicating name is a directory (boolean)
- Raises RuntimeError:
-
to indicate that this method must be
implemented by a subclass
VersionControl.vcsAddTree
vcsAddTree(path)
Public method to add a directory tree rooted at path in the vcs.
- path
-
root directory of the tree to be added (string)
- Raises RuntimeError:
-
to indicate that this method must be
implemented by a subclass
VersionControl.vcsAllRegisteredStates
vcsAllRegisteredStates(names, dname)
Public method used to get the registered states of a number of files
in the vcs.
- names
-
dictionary with all filenames to be checked as keys
- dname
-
directory to check in (string)
- Returns:
-
the received dictionary completed with a combination of
canBeCommited and canBeAdded or None in order to signal an error
- Raises RuntimeError:
-
to indicate that this method must be
implemented by a subclass
VersionControl.vcsCheckout
vcsCheckout(vcsDataDict, projectDir, noDialog=False)
Public method used to check the project out of the vcs.
- vcsDataDict
-
dictionary of data required for the checkout
- projectDir
-
project directory to create (string)
- noDialog
-
flag indicating quiet operations
- Returns:
-
flag indicating an execution without errors (boolean)
- Raises RuntimeError:
-
to indicate that this method must be
implemented by a subclass
VersionControl.vcsCleanup
vcsCleanup(name)
Public method used to cleanup the local copy.
- name
-
directory name to be cleaned up (string)
- Raises RuntimeError:
-
to indicate that this method must be
implemented by a subclass
VersionControl.vcsCommandLine
vcsCommandLine(name)
Public method used to execute arbitrary vcs commands.
- name
-
directory name of the working directory (string)
- Raises RuntimeError:
-
to indicate that this method must be
implemented by a subclass
VersionControl.vcsCommit
vcsCommit(name, message, noDialog=False)
Public method used to make the change of a file/directory permanent in
the vcs.
- name
-
file/directory name to be committed (string)
- message
-
message for this operation (string)
- noDialog
-
flag indicating quiet operations (boolean)
- Returns:
-
flag indicating success (boolean)
- Raises RuntimeError:
-
to indicate that this method must be
implemented by a subclass
VersionControl.vcsConvertProject
vcsConvertProject(vcsDataDict, project, addAll=True)
Public method to convert an uncontrolled project to a version
controlled project.
- vcsDataDict (dict)
-
dictionary of data required for the conversion
- project (Project)
-
reference to the project object
- addAll (bool)
-
flag indicating to add all files to the repository
- Raises RuntimeError:
-
to indicate that this method must be
implemented by a subclass
VersionControl.vcsDiff
vcsDiff(name)
Public method used to view the diff of a file/directory in the vcs.
- name
-
file/directory name to be diffed (string)
- Raises RuntimeError:
-
to indicate that this method must be
implemented by a subclass
VersionControl.vcsExists
vcsExists()
Public method used to test for the presence of the vcs.
- Returns:
-
tuple of flag indicating the existence and a string
giving an error message in case of failure
- Raises RuntimeError:
-
to indicate that this method must be
implemented by a subclass
VersionControl.vcsExport
vcsExport(vcsDataDict, projectDir)
Public method used to export a directory from the vcs.
- vcsDataDict
-
dictionary of data required for the export
- projectDir
-
project directory to create (string)
- Returns:
-
flag indicating an execution without errors (boolean)
- Raises RuntimeError:
-
to indicate that this method must be
implemented by a subclass
VersionControl.vcsGetOptions
vcsGetOptions()
Public method used to retrieve the options of the vcs.
- Returns:
-
a dictionary of option strings that can be passed to
vcsSetOptions.
VersionControl.vcsGetOtherData
vcsGetOtherData()
Public method used to retrieve vcs specific data.
- Returns:
-
a dictionary of vcs specific data
VersionControl.vcsGetProjectBrowserHelper
vcsGetProjectBrowserHelper(browser, project, isTranslationsBrowser=False)
Public method to instanciate a helper object for the different
project browsers.
- browser
-
reference to the project browser object
- project
-
reference to the project object
- isTranslationsBrowser
-
flag indicating, the helper is requested
for the translations browser (this needs some special treatment)
- Returns:
-
the project browser helper object
- Raises RuntimeError:
-
to indicate that this method must be
implemented by a subclass
VersionControl.vcsGetProjectHelper
vcsGetProjectHelper(project)
Public method to instanciate a helper object for the project.
- project
-
reference to the project object
- Returns:
-
the project helper object
- Raises RuntimeError:
-
to indicate that this method must be
implemented by a subclass
VersionControl.vcsImport
vcsImport(vcsDataDict, projectDir, noDialog=False, addAll=True)
Public method used to import the project into the vcs.
- vcsDataDict (dict)
-
dictionary of data required for the import
- projectDir (str)
-
project directory (string)
- noDialog (bool)
-
flag indicating quiet operations
- addAll (bool)
-
flag indicating to add all files to the repository
- Returns:
-
tuple containing a flag indicating an execution without errors
and a flag indicating the version control status
- Return Type:
-
tuple of (bool, bool)
- Raises RuntimeError:
-
to indicate that this method must be
implemented by a subclass
VersionControl.vcsInit
vcsInit(vcsDir, noDialog=False)
Public method used to initialize the vcs.
- vcsDir
-
name of the VCS directory (string)
- noDialog
-
flag indicating quiet operations (boolean)
- Returns:
-
flag indicating success (boolean)
- Raises RuntimeError:
-
to indicate that this method must be
implemented by a subclass
VersionControl.vcsInitConfig
vcsInitConfig(project)
Public method to initialize the VCS configuration.
This method could ensure, that certain files or directories are
exclude from being version controlled.
- project
-
reference to the project (Project)
VersionControl.vcsLogBrowser
vcsLogBrowser(name, isFile=False)
Public method used to view the log of a file/directory in the vcs
with a log browser dialog.
- name
-
file/directory name to show the log for (string)
- isFile=
-
flag indicating log for a file is to be shown
(boolean)
- Raises RuntimeError:
-
to indicate that this method must be
implemented by a subclass
VersionControl.vcsMerge
vcsMerge(name)
Public method used to merge a tag/branch into the local project.
- name
-
file/directory name to be merged (string)
- Raises RuntimeError:
-
to indicate that this method must be
implemented by a subclass
VersionControl.vcsMove
vcsMove(name, project, target=None, noDialog=False)
Public method used to move a file/directory.
- name
-
file/directory name to be moved (string)
- project
-
reference to the project object
- target
-
new name of the file/directory (string)
- noDialog
-
flag indicating quiet operations
- Returns:
-
flag indicating successfull operation (boolean)
- Raises RuntimeError:
-
to indicate that this method must be
implemented by a subclass
VersionControl.vcsName
vcsName()
Public method returning the name of the vcs.
- Returns:
-
name of the vcs (string)
- Raises RuntimeError:
-
to indicate that this method must be
implemented by a subclass
VersionControl.vcsNewProjectOptionsDialog
vcsNewProjectOptionsDialog(parent=None)
Public method to get a dialog to enter repository info for getting a
new project.
- parent
-
parent widget (QWidget)
- Raises RuntimeError:
-
to indicate that this method must be
implemented by a subclass
VersionControl.vcsOptionsDialog
vcsOptionsDialog(project, archive, editable=False, parent=None)
Public method to get a dialog to enter repository info.
- project
-
reference to the project object
- archive
-
name of the project in the repository (string)
- editable
-
flag indicating that the project name is editable
(boolean)
- parent
-
parent widget (QWidget)
- Raises RuntimeError:
-
to indicate that this method must be
implemented by a subclass
VersionControl.vcsRegisteredState
vcsRegisteredState(name)
Public method used to get the registered state of a file in the vcs.
- name
-
filename to check (string)
- Returns:
-
a combination of canBeCommited and canBeAdded or
0 in order to signal an error
- Raises RuntimeError:
-
to indicate that this method must be
implemented by a subclass
VersionControl.vcsRemove
vcsRemove(name, project=False, noDialog=False)
Public method used to add a file/directory in the vcs.
- name
-
file/directory name to be removed (string)
- project
-
flag indicating deletion of a project tree (boolean)
- noDialog
-
flag indicating quiet operations
- Returns:
-
flag indicating success (boolean)
- Raises RuntimeError:
-
to indicate that this method must be
implemented by a subclass
VersionControl.vcsRepositoryInfos
vcsRepositoryInfos(ppath)
Public method to retrieve information about the repository.
- ppath
-
local path to get the repository infos (string)
- Returns:
-
string with ready formated info for display (string)
- Raises RuntimeError:
-
to indicate that this method must be
implemented by a subclass
VersionControl.vcsRevert
vcsRevert(name)
Public method used to revert changes made to a file/directory.
- name
-
file/directory name to be reverted (string)
- Raises RuntimeError:
-
to indicate that this method must be
implemented by a subclass
VersionControl.vcsSetData
vcsSetData(key, value)
Public method used to set an entry in the otherData dictionary.
- key
-
the key of the data (string)
- value
-
the value of the data
VersionControl.vcsSetDataFromDict
vcsSetDataFromDict(dictionary)
Public method used to set entries in the otherData dictionary.
- dictionary
-
dictionary to pick entries from
VersionControl.vcsSetOptions
vcsSetOptions(options)
Public method used to set the options for the vcs.
- options
-
a dictionary of option strings with keys as
defined by the default options
VersionControl.vcsSetOtherData
vcsSetOtherData(data)
Public method used to set vcs specific data.
- data
-
a dictionary of vcs specific data
VersionControl.vcsShutdown
vcsShutdown()
Public method used to shutdown the vcs interface.
- Raises RuntimeError:
-
to indicate that this method must be
implemented by a subclass
VersionControl.vcsStatus
vcsStatus(name)
Public method used to view the status of a file/directory in the vcs.
- name
-
file/directory name to show the status for (string)
- Raises RuntimeError:
-
to indicate that this method must be
implemented by a subclass
VersionControl.vcsSupportCommandOptions
vcsSupportCommandOptions()
Public method to signal the support of user settable command options.
- Returns:
-
flag indicating the support of user settable command options
(boolean)
VersionControl.vcsSwitch
vcsSwitch(name)
Public method used to switch a directory to a different tag/branch.
- name
-
directory name to be switched (string)
- Returns:
-
flag indicating, that the switch contained an add
or delete (boolean)
- Raises RuntimeError:
-
to indicate that this method must be
implemented by a subclass
VersionControl.vcsTag
vcsTag(name)
Public method used to set the tag of a file/directory in the vcs.
- name
-
file/directory name to be tagged (string)
- Raises RuntimeError:
-
to indicate that this method must be
implemented by a subclass
VersionControl.vcsUpdate
vcsUpdate(name, noDialog=False)
Public method used to update a file/directory in the vcs.
- name
-
file/directory name to be updated (string)
- noDialog
-
flag indicating quiet operations (boolean)
- Returns:
-
flag indicating, that the update contained an add
or delete (boolean)
- Raises RuntimeError:
-
to indicate that this method must be
implemented by a subclass