From: Ævar Arnfjörð Bjarmason Date: Sat, 3 Mar 2018 15:38:17 +0000 (+0000) Subject: perl Git::LoadCPAN: emit better errors under NO_PERL_CPAN_FALLBACKS X-Git-Tag: v2.17.0-rc0~4^2 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/1aca69c0195bd4ac671e7a36cf9b967d2bcbe200?ds=inline;hp=1aca69c0195bd4ac671e7a36cf9b967d2bcbe200 perl Git::LoadCPAN: emit better errors under NO_PERL_CPAN_FALLBACKS Before my 20d2a30f8f ("Makefile: replace perl/Makefile.PL with simple make rules", 2017-12-10) on an OS package that removed the private-Error.pm copy we carried around manually removing the OS's Error.pm would yield: $ git add -p Can't locate Error.pm in @INC (you may need to install the Error module) [...] Now, before this change we'll instead emit this more cryptic error: $ git add -p BUG: '/usr/share/perl5/Git/FromCPAN' should be a directory! at /usr/share/perl5/Git/Error.pm line 36. This is a confusing error. Now if the new NO_PERL_CPAN_FALLBACKS option is specified and we can't find the module we'll instead emit: $ /tmp/git/bin/git add -p BUG: The 'Error' module is not here, but NO_PERL_CPAN_FALLBACKS was set! [...] Where [...] is the lengthy explanation seen in the change below, which explains what the potential breakage is, and how to fix it. The reason for checking @@NO_PERL_CPAN_FALLBACKS@@] against the empty string in Perl is as opposed to checking for a boolean value is that that's (as far as I can tell) make's idea of a string that's set, and e.g. NO_PERL_CPAN_FALLBACKS=0 is enough to set NO_PERL_CPAN_FALLBACKS. Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano ---