Version control system wrapper allowing the developer to worry about only having to learn one command set to manage all types of repositories.

utilities.py 1.1KB

    import os import subprocess def isGit(): ''' Determine if the current directory is part of a Git repository. ''' return executeCheckingForErrors(["git", "branch"]) def isMercurial(): ''' Determine if the current directory is part of a Mercurial repository. ''' return executeCheckingForErrors(["hg", "branch"]) def isBazaar(): ''' Determine if the current directory is part of the Bazaar repository. ''' return executeCheckingForErrors(["bzr", "root"]) def execute(command): ''' Execute the given command. ''' subprocess.call(command, stderr=subprocess.STDOUT) def executeCheckingForErrors(command): ''' Execute the given command and return whether any errors were found. ''' return subprocess.call(command, stderr=subprocess.STDOUT, stdout=open(os.devnull, 'w')) == 0 def executeAndReturnResponse(command): ''' Execute the given command and return the output and errors. ''' proc = subprocess.Popen(command, stdin=subprocess.PIPE, stderr=subprocess.PIPE, stdout=subprocess.PIPE) return proc.communicate()