in common.py [0:0]
def git_clone(url, path, tree=None, recursive=True,
stdout=sys.stdout, stderr=sys.stderr):
"""Perform a git clone operation on a url to a path."""
returncodes = []
command = ['git', 'clone', url, path]
returncodes.append(check_execute(command, stdout=stdout, stderr=stderr))
if tree:
returncodes.append(git_checkout(tree, path,
force=True,
stdout=stdout, stderr=stderr))
if recursive:
returncodes.append(git_submodule_update(path,
stdout=stdout, stderr=stderr))
return 0 if all(rc == 0 for rc in returncodes) else 1