armada/armada/utils/git.py

31 lines
665 B
Python

import pygit2
import tempfile
import shutil
from os import path
from ..exceptions import git_exceptions
def git_clone(repo_url, branch='master'):
'''
clones repo to a /tmp/ dir
'''
if repo_url == '':
raise git_exceptions.GitLocationException(repo_url)
_tmp_dir = tempfile.mkdtemp(prefix='armada', dir='/tmp')
try:
pygit2.clone_repository(repo_url, _tmp_dir, checkout_branch=branch)
except Exception:
raise git_exceptions.GitLocationException(repo_url)
return _tmp_dir
def source_cleanup(target_dir):
'''
Clean up source
'''
if path.exists(target_dir):
shutil.rmtree(target_dir)