code: 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
docs: 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