NAME
Test::BrewBuild::Git - Git repository manager for the Test::BrewBuild
test platform system.
SYNOPSIS
use Test::BrewBuild::Git;
my $git = Test::BrewBuild::Git->new;
my $repo_link = $git->link;
my $repo_name = $git->name($link);
$git->clone($repo_link);
$git->pull;
DESCRIPTION
Manages Git repositories, including gathering names, cloning, pulling etc.
METHODS
new
Returns a new Test::BrewBuild::Git
object.
Parameters:
debug => $level
Optional, Integer. $level vary between 0-7, 0 being the least verbose.
git
Returns the git
command for the local platform.
link
Fetches and returns the full link to the master repository from your current working directory. This is the link you used to originally clone the repo.
name($link)
Extracts the repo name from the full link path.
clone($repo)
Clones the repo into the current working directory.
pull
While in a repository directory, pull down any updates.
revision(remote => $bool, repo => $github_url)
Returns the current commit SHA1 for a repo, with ability to get the local commit or remote commit SHA1 sum.
Parameters:
All parameters are passed in as a hash.
repo
Optional, string. The Github url to the repo. If not sent in, we will attempt to get this information from the current working directory. Mandatory if the remote
parameter is sent in.
remote
Optional, bool. If sent in, we'll fetch the current commit's SHA1 sum from Github itself, else we'll get the sum from the most recent local, unpushed commit. The repo
parameter is mandatory if this one is sent in.
status
Returns true of the repo we're working on is behind or equal to the remote regarding commits, and false if we're ahead.
AUTHOR
Steve Bertrand, <steveb at cpan.org>
LICENSE AND COPYRIGHT
Copyright 2017 Steve Bertrand.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.