Test::Git(3)

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

VERSION
version 1.306

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();

    # 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( $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( %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.

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-2013 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.