This is just an interesting datapoint, but Git's test suite currently crashes and burns if you don't have a perl in your $PATH, no matter if you've compiled with NO_PERL=YesPlease or not. This has been the case since at least 2006, or v1.3.0-rc1~13^2~34.
The affected tests are:
./t0000-basic.sh ./t0025-crlf-auto.sh ./t0080-vcs-svn.sh
./t0020-crlf.sh ./t1010-mktree.sh ./t1300-repo-config.sh
./t3300-funny-names.sh ./t4012-diff-binary.sh
./t4020-diff-external.sh ./t4014-format-patch.sh
./t4029-diff-trailing-space.sh ./t4031-diff-rewrite-binary.sh
./t4030-diff-textconv.sh ./t4043-diff-rename-binary.sh
./t4103-apply-binary.sh ./t4116-apply-reverse.sh ./t4200-rerere.sh
./t5303-pack-corruption-resilience.sh ./t5300-pack-object.sh
./t6011-rev-list-with-bad-commit.sh
./t6013-rev-list-reverse-parents.sh ./t6003-rev-list-topo-order.shI have a WIP patch series to tackle this issue:
http://github.com/avar/git/compare/git:pu...in-progress-dont-depend-on-perl
It adds a PERL dependency to things and changes perl to "$PERL_PATH". Many things were implicitly depending on perl due to this bit in test-lib.sh:
q_to_nul () {
perl -pe 'y/Q/\000/'
}And many other bits do other things with perl but aren't declaring a PERL dependency.
Anyway, I just thought I'd mention it, that this hasn't been fixed yet would suggest that nearly everyone has perl anyway, and that maybe we shouldn't think twice about introducing a perl dependency to things when it's convenient.