Exemplo n.º 1
0
def git_all_tags(repo):
    return_code, stdout, stderr = popen(
        [config.git(), "tag", "--sort", "version:refname"], cwd=repo)
    if return_code != 0:
        raise VersionControlException(
            "Failed to get tags of Git repository {}\n{}".format(repo, stderr))
    return stdout.split()
Exemplo n.º 2
0
def git_last_commit(repo):
    return_code, stdout, stderr = popen(
        [config.git(), "log", "-1", "--oneline"], cwd=repo)
    if return_code != 0:
        raise VersionControlException(
            "Failed to get last commit of Git repository {}".format(repo))
    return stdout.split()[0]
Exemplo n.º 3
0
def _checkout_commit(checkout_dir, commit):
    """Checkout a Git commit at some location."""
    return_code, _, _ = popen([config.git(), "checkout", commit],
                              cwd=checkout_dir)
    if return_code != 0:
        raise VersionControlException(
            "Checking out commit {} at {} failed!".format(
                commit, checkout_dir))
Exemplo n.º 4
0
def git_last_tag(repo):
    all_tags = git_all_tags(repo)
    if len(all_tags) == 0:
        raise VersionControlException("No last tag")
    return all_tags[-1]
Exemplo n.º 5
0
def _clone_repo(repo, checkout_dir):
    """Clone a git repository into a directory."""
    return_code, _, _ = popen([config.git(), "clone", repo, checkout_dir])
    if return_code != 0:
        raise VersionControlException("Cloning {} into {} failed!".format(
            repo, checkout_dir))
Exemplo n.º 6
0
def hg_last_commit(repo):
    return_code, stdout, stderr = popen([config.hg(), "log", "-r", "tip", "--template", "{rev}"], cwd=repo)
    if return_code != 0:
        raise VersionControlException("Failed to get last commit of Hg repository {}"
                                             .format(repo))
    return stdout.split()[0]
Exemplo n.º 7
0
def hg_all_tags(repo):
    return_code, stdout, stderr = popen([config.hg(), "log", "-r", 'tag()', "--template", '{tags}\n'], cwd=repo)
    if return_code != 0:
        raise VersionControlException("Failed to get tags of Hg repository {}"
                                      .format(repo))
    return stdout.split()
Exemplo n.º 8
0
def hg_last_tag(repo):
    return_code, stdout, stderr = popen([config.hg(), "log", "-r", '"."', "--template", "{latesttag}"], cwd=repo)
    if return_code != 0:
        raise VersionControlException("Failed to get last tag of Hg repository {}"
                                      .format(repo))
    return stdout
Exemplo n.º 9
0
def _run_git(checkout_dir, args):
    """Run Git inside a directory with a list of arguments."""
    return_code, _, _ = popen(["git"] + args, cwd=checkout_dir)
    if return_code != 0:
        raise VersionControlException("\'git {}\' failed!".format(args))