Thank you for considering contributing to this distribution. This file contains instructions that will help you work with the source code.
Because the objective of Devel-Git-MultiBisect is to assist you in diagnosing
problems with Perl libraries which use
git as their version control systems,
this distribution's test suite of necessity entails using real git
Up through version 0.15, we bundled two such repositories within the distribution as git submodules. This enabled us to compose test files based on real-world uses of this library. But this approach came with two costs:
The tarball shipped to CPAN was massive: around 2.24 megabytes.
A few CPANtesters rigs repeatedly failed for reasons not well understood -- even though other CPANtesters rigs run by the same individuals gave the distribution repeated PASSes.
Beginning with version 0.16 we are taking a different approach. Instead of
bundling other GitHub repositories as submodules within this distribution, we
now ask potential developers to do
git clones of two CPAN distributions and
git checkouts of them on the same machine where you are working on
- Let's assume that you have an environmental variable which holds the path to
the directory into which you
git clonerepositories from GitHub.
$ mkdir -p $HOMEDIR/gitwork $ export GIT_WORKDIR=$HOMEDIR/gitwork $ cd $GIT_WORKDIR
At this point you would usually proceed via:
$ git clone firstname.lastname@example.org:jkeenan/devel-git-multibisect.git $ cd devel-git-multibisect $ perl Makefile.PL && make... and then proceed to hack on the codebase.
However, if you want to give Devel-Git-MultiBisect a thorough inspection before installing from CPAN, or if you want to run a thorough set of tests during development, you should now do this:
$ git clone email@example.com:jkeenan/devel-git-multibisect.git $ git clone firstname.lastname@example.org:jkeenan/list-compare.git $ git clone email@example.com:jkeenan/dummyrepo.git $ export PERL_LIST_COMPARE_GIT_CHECKOUT_DIR=$GIT_WORKDIR/list-compare $ export PERL_DUMMYREPO_GIT_CHECKOUT_DIR=$GIT_WORKDIR/dummyrepo $ cd devel-git-multibisect $ perl Makefile.PL && make $ make testCertain files in the test suite will seek out files in the directories pointed to by
$PERL_DUMMYREPO_GIT_CHECKOUT_DIR. The coverage provided by those tests will match or exceed that provided by the test suite in versions earlier than 0.16.