Re: [PATCH 2/5] t/perf: use configured PERL_PATH
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Apr 14, 2025, 19:20 UTC
- Message-ID
- <xmqq5xj6r1mf.fsf@gitster.g>
- In-Reply-To
- <Z_ywLLN5xj6cYFN9@pks.im>
Patrick Steinhardt <ps@pks.im> writes:
Show 9 quoted lines
>> > Use "PERL_PATH" to execute Perl scripts, which makes them work on more >> > esoteric systems like NixOS. >> >> I see in `t/perf/README` there's a mention of running `./aggregate.perl` >> directly? Shall we inform the user to run that through their Perl as >> well? >> >> - $ ./aggregate.perl . /path/to/other/git ./p0001-rev-list.sh >> + $ perl ./aggregate.perl . /path/to/other/git ./p0001-rev-list.sh
Good.
Show 6 quoted lines
>> >> Or do we expect users to know what they are doing when they don't have >> Perl installed at /usr/bin/perl? > > Another solution could be to switch the shebang to `#!/usr/bin/env > perl`. We also do this for "t/chainlint.pl".
When you do not have perl installed anywhere, how does this fail? I think you would get
$ ./aggregate.perl ...
/usr/bin/env: 'perl': No such file or directoryand compared to that,
$ perl ./aggregate.perl ...
bash: perl: command not foundI think it makes it slightly more obvious to those who lack perl on their $PATH what is going wrong to explicitly tell them to run "perl" like Toon's suggestion above (primarily because use of /usr/bin/env is not obvious to those who are told to run ./aggregate.perl script).