class_docstr: Helps to build releases through scripting of steps.
class_docstr_tok: ["Helps","to","build","releases","through","scripting","of","steps","."]
docstr: Clones repo of points to existing repo.
  
  Args:
    git_repo: Full url to git repository.
    working_dir: Full path to the directory to check the code out into.
  
  Returns:
    Repo object representing the git repository.
docstr_tok: ["Clones","repo","of","points","to","existing","repo",".","Args",":","git_repo",":","Full","url","to","git","repository",".","working_dir",":","Full","path","to","the","directory","to","check","the","code","out","into",".","Returns",":","Repo","object","representing","the","git","repository","."]
code: def _get_repo(self, git_repo, working_dir):
      """Clones repo of points to existing repo.
  
      Args:
        git_repo: Full url to git repository.
        working_dir: Full path to the directory to check the code out into.
  
      Returns:
        Repo object representing the git repository.
      """
      os.makedirs(working_dir, exist_ok=True)
      try:
          return Repo(working_dir)
      except InvalidGitRepositoryError:
          return Repo.clone_from(git_repo, working_dir)
  
imports: import fileinput
  import os
  from absl import app
  from absl import flags
  from absl import logging
  from git import Repo
  from git.exc import GitCommandError
  from git.exc import InvalidGitRepositoryError
label_desc: Use image node_id 9 for calling the ReleaseBuilder obj's underlying member method code with example usage: obj._get_repo(git_repo, working_dir) and returns: Repo, Repo