PyFoam.Basics.GeneralVCSInterface module

General interface to VCS implementations

class PyFoam.Basics.GeneralVCSInterface.GeneralVCSInterface(path, init=False)[source]

Bases: object

This is an abstract class that implements an interface to general VCS operations

addGlobToIgnore(expr)[source]

Add to the ignore-facility of the current VCS :param expr: a glob expression

addPath(path, rules=[])[source]

Add the path to the repository (no commit) :param path: the path (directory or file) to commit :param rules: a list of tuples: first is whether to include or exclude the regular expression that is the second member of the tuple

addRegexpToIgnore(expr)[source]

Add to the ignore-facility of the current VCS :param expr: a regular expression

addStandardIgnores()[source]

Add the usual ignores

branchName()[source]

Return the branch-name (or another identifying string)

clone(dest)[source]

Clone the repository :param dest: the path that should be clones to

commit(msg)[source]

Commit the current state :param msg: Commit message

doInPath(func, *args, **kwargs)[source]

Execute a function in the root directory of the repository. Afterwards change back ot the original directory. Result of the function is returned

Parameters:func – the function to be executed
executeWithOuput(cmd)[source]

Executes a command and returns the output

getRevision()[source]

Get the current revision number

getRoot(path)[source]

Returns the actual repository root for a path. Default implmentation passes through the path

update(timeout=None)[source]

Update the working copy from the parent repository :param timeout: Wait a maximum time (if the VCS supports this)

PyFoam.Basics.GeneralVCSInterface.getVCS(vcs, path, init=False, tolerant=False)[source]

Factory to create a proper VCS-interface :param vcs: name of the VCS-implementation :param path: path which is under version control :param init: whether the Version-control should be initialized here :param tolerant: If there is no interface for the VCS in question return None

PyFoam.Basics.GeneralVCSInterface.whichVCS(dpath)[source]

Diagnose which VCS a specific directory is under

Returns a string that is consistent with the creation table in getVCS