Source code for repo_splitter.git_tools.clone
from git import Repo
from repo_splitter.git_tools.url import is_remote_url
from repo_splitter.git_tools.track import track_all_remote_branches, delete_non_active_local_branches
[docs]def clone_repo(source: str, dest: str, all_branches: bool = True, **kwargs):
repo = _clone_repo(source, dest, **kwargs)
if all_branches:
track_all_remote_branches(repo)
return repo
def _clone_repo(source, dest, **kwargs) -> Repo:
return Repo.clone_from(source, dest, **kwargs)