The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

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

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:

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 do git checkouts of them on the same machine where you are working on Devel-Git-MultiBisect. Specifically:

$ mkdir -p $HOMEDIR/gitwork
$ export GIT_WORKDIR=$HOMEDIR/gitwork
$ cd $GIT_WORKDIR
$ git clone git@github.com:jkeenan/devel-git-multibisect.git
$ cd devel-git-multibisect
$ perl Makefile.PL && make

... and then proceed to hack on the codebase.

$ git clone git@github.com:jkeenan/devel-git-multibisect.git
$ git clone git@github.com:jkeenan/list-compare.git
$ git clone git@github.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 test

Certain files in the test suite will seek out files in the directories pointed to by $PERL_LIST_COMPARE_GIT_CHECKOUT_DIR and $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.