Provided by: libgit-repository-perl_1.310-1_all bug

NAME

       Test::Git - Helper functions for test scripts using Git

VERSION

       version 1.310

SYNOPSIS

           use Test::More;
           use Test::Git;

           # check there is a git binary available, or skip all
           has_git();

           # check there is a minimum version of git available, or skip all
           has_git( '1.6.5' );

           # check the git we want to test has a minimum version, or skip all
           has_git( '1.6.5', { git => '/path/to/alternative/git' } );

           # normal plan
           plan tests => 2;

           # create a new, empty repository in a temporary location
           # and return a Git::Repository object
           my $r = test_repository();

           # clone an existing repository in a temporary location
           # and return a Git::Repository object
           my $c = test_repository( clone => [ $url ] );

           # run some tests on the repository
           ...

DESCRIPTION

       Test::Git provides a number of helpful functions when running test scripts that require the creation and
       management of a Git repository.

EXPORTED FUNCTIONS

   has_git
           has_git( $version, \%options );

       Checks if there is a git binary available, or skips all tests.

       If the optional $version argument is provided, also checks if the available git binary has a version
       greater or equal to $version.

       This function also accepts an option hash of the same kind as those accepted by Git::Repository and
       Git::Repository::Command.

       This function must be called before "plan()", as it performs a skip_all if requirements are not met.

   test_repository
           test_repository( %options );

       Creates a new empty git repository in a temporary location, and returns a Git::Repository object pointing
       to it.

       This function takes options as a hash. Each key will influence a different part of the creation process.

       The keys are:

       temp
           Array reference containing parameters to File::Temp "tempdir" function.

           Default: "[ CLEANUP =" 1 ]>

       init
           Array  reference  containing  parameters  to  "git  init".   Must  not  contain  the target directory
           parameter, which is provided by "test_repository()" (via File::Temp).

           Default: "[]"

           The "init" option is only supported with Git versions higher or equal to 1.6.2.rc0.

       clone
           Array reference containing parameters  to  "git  clone".   Must  not  contain  the  target  directory
           parameter, which is provided by "test_repository()" (via File::Temp).

           Note  that  "clone" and "init" are mutually exclusive and that "test_repository()" will croak if both
           are provided.  This option has no default value, since at least a Git URL must  be  provided  to  the
           "clone" option.

           The "clone" option is only supported with Git versions higher or equal to 1.6.2.rc0.

       git Hash reference containing options for Git::Repository.

           Default: "{}"

       This call is the equivalent of the default call with no options:

           test_repository(
               temp => [ CLEANUP => 1 ],    # File::Temp::tempdir options
               init => [],                  # git init options
               git  => {},                  # Git::Repository options
           );

       To create a bare repository:

           test_repository( init => [ '--bare' ] );

       To leave the repository in its location after the end of the test:

           test_repository( temp => [ CLEANUP => 0 ] );

       Note  that  since "test_repository()" uses "git init" to create the test repository, it requires at least
       Git version "1.5.0.rc1".

BUGS

       Please    report    any    bugs     or     feature     requests     on     the     bugtracker     website
       http://rt.cpan.org/NoAuth/Bugs.html?Dist=Git-Repository or by email to bug-git-repository@rt.cpan.org.

       When  submitting  a  bug  or request, please include a test-file or a patch to an existing test-file that
       illustrates the bug or desired feature.

AUTHOR

       Philippe Bruhat (BooK) <book@cpan.org>

COPYRIGHT

       Copyright 2010-2014 Philippe Bruhat (BooK), all rights reserved.

LICENSE

       This program is free software; you can redistribute it and/or modify it under  the  same  terms  as  Perl
       itself.

perl v5.18.2                                       2014-01-16                                     Test::Git(3pm)