def Git(repository, directory, rev=None, prefix=None, shallow_clone=True):
    """
    Get a clone of the given repo

    Args:
        repository (str): Git URL of the SOURCE repo.
        directory (str): Name of the repo folder on disk.
        tgt_root (str): TARGET folder for the git repo.
            Defaults to ``CFG["tmpdir"]``
        shallow_clone (bool): Only clone the repository shallow
            Defaults to true
    """
    repository_loc = str(prefix)
    if prefix is None:
        repository_loc = str(CFG["tmp_dir"])

    from benchbuild.utils.cmd import git

    src_dir = local.path(repository_loc) / directory
    if not source_required(src_dir):
        Copy(src_dir, ".")
        return

    extra_param = []
    if shallow_clone:
        extra_param.append("--depth")
        extra_param.append("1")

    git("clone", extra_param, repository, src_dir)
    if rev:
        with local.cwd(src_dir):
            git("checkout", rev)

    update_hash(src_dir)
    Copy(src_dir, ".")
    return repository_loc
def Git ( repository , directory , rev = None , prefix = None , shallow_clone = True ) : repository_loc = str ( prefix ) if prefix is None : repository_loc = str ( CFG [ "tmp_dir" ] ) from benchbuild . utils . cmd import git src_dir = local . path ( repository_loc ) / directory if not source_required ( src_dir ) : Copy ( src_dir , "." ) return extra_param = [ ] if shallow_clone : extra_param . append ( "--depth" ) extra_param . append ( "1" ) git ( "clone" , extra_param , repository , src_dir ) if rev : with local . cwd ( src_dir ) : git ( "checkout" , rev ) update_hash ( src_dir ) Copy ( src_dir , "." ) return repository_loc
Get a clone of the given repo

    Args:
        repository (str): Git URL of the SOURCE repo.
        directory (str): Name of the repo folder on disk.
        tgt_root (str): TARGET folder for the git repo.
            Defaults to ``CFG["tmpdir"]``
        shallow_clone (bool): Only clone the repository shallow
            Defaults to true