{"thread":{"id":"44858","subject":"[PATCH 1/2] Convert all 'perl -w' to 'perl' + 'use warnings;'","startedAt":"2017-01-12T06:00:22Z","lastAt":"2017-01-14T21:57:58Z","messageCount":24,"participants":["Pat Pannuto","Junio C Hamano","Johannes Sixt","Johannes Schindelin","Eric Wong","Jeff King","brian m. carlson"],"isPatch":true,"patchVersion":1,"patchTotal":2},"messages":[{"id":"309249","messageId":"20170112055140.29877-2-pat.pannuto@gmail.com","threadId":"44858","inReplyTo":"20170112055140.29877-1-pat.pannuto@gmail.com","subject":"[PATCH 1/2] Convert all 'perl -w' to 'perl' + 'use warnings;'","fromName":"Pat Pannuto","fromEmail":"pat.pannuto@gmail.com","sentAt":"2017-01-12T05:51:39Z","receivedAt":"2017-01-12T06:00:22Z","isPatch":true,"sender":{"key":"pat.pannuto@gmail.com","avatar":"https://gravatar.com/avatar/e942232170ea8ec1d1e10bd6e498faa84d34c9acd56b630ed96cff34df0cf65c?d=mp&s=160"},"body":"This commit is in preparation for converting all shebangs to use 'env'\ninstead of a fixed perl path, which will not allow for arguments to 'perl'.\n\nSigned-off-by: Pat Pannuto <pat.pannuto@gmail.com>\n---\n Documentation/cat-texi.perl       | 4 +++-\n Documentation/cmd-list.perl       | 4 +++-\n Documentation/fix-texi.perl       | 4 +++-\n compat/vcbuild/scripts/clink.pl   | 3 ++-\n compat/vcbuild/scripts/lib.pl     | 3 ++-\n contrib/buildsystems/engine.pl    | 3 ++-\n contrib/buildsystems/generate     | 3 ++-\n contrib/buildsystems/parse.pl     | 3 ++-\n contrib/examples/git-remote.perl  | 3 ++-\n contrib/mw-to-git/t/test-gitmw.pl | 5 ++++-\n 10 files changed, 25 insertions(+), 10 deletions(-)\n\ndiff --git a/Documentation/cat-texi.perl b/Documentation/cat-texi.perl\nindex 87437f8a9..1cd28b1b5 100755\n--- a/Documentation/cat-texi.perl\n+++ b/Documentation/cat-texi.perl\n@@ -1,4 +1,6 @@\n-#!/usr/bin/perl -w\n+#!/usr/bin/perl\n+\n+use warnings;\n \n my @menu = ();\n my $output = $ARGV[0];\ndiff --git a/Documentation/cmd-list.perl b/Documentation/cmd-list.perl\nindex 5aa73cfe4..ba640a441 100755\n--- a/Documentation/cmd-list.perl\n+++ b/Documentation/cmd-list.perl\n@@ -1,4 +1,6 @@\n-#!/usr/bin/perl -w\n+#!/usr/bin/perl\n+\n+use warnings;\n \n use File::Compare qw(compare);\n \ndiff --git a/Documentation/fix-texi.perl b/Documentation/fix-texi.perl\nindex ff7d78f62..c247aece7 100755\n--- a/Documentation/fix-texi.perl\n+++ b/Documentation/fix-texi.perl\n@@ -1,4 +1,6 @@\n-#!/usr/bin/perl -w\n+#!/usr/bin/perl\n+\n+use warnings;\n \n while (<>) {\n \tif (/^\\@setfilename/) {\ndiff --git a/compat/vcbuild/scripts/clink.pl b/compat/vcbuild/scripts/clink.pl\nindex a87d0da51..46eb61c5c 100755\n--- a/compat/vcbuild/scripts/clink.pl\n+++ b/compat/vcbuild/scripts/clink.pl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl -w\n+#!/usr/bin/perl\n ######################################################################\n # Compiles or links files\n #\n@@ -10,6 +10,7 @@\n # Copyright (C) 2009 Marius Storm-Olsen <mstormo@gmail.com>\n ######################################################################\n use strict;\n+use warnings;\n my @args = ();\n my @cflags = ();\n my $is_linking = 0;\ndiff --git a/compat/vcbuild/scripts/lib.pl b/compat/vcbuild/scripts/lib.pl\nindex d8054e469..e571b8470 100755\n--- a/compat/vcbuild/scripts/lib.pl\n+++ b/compat/vcbuild/scripts/lib.pl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl -w\n+#!/usr/bin/perl\n ######################################################################\n # Libifies files on Windows\n #\n@@ -10,6 +10,7 @@\n # Copyright (C) 2009 Marius Storm-Olsen <mstormo@gmail.com>\n ######################################################################\n use strict;\n+use warnings;\n my @args = ();\n while (@ARGV) {\n \tmy $arg = shift @ARGV;\ndiff --git a/contrib/buildsystems/engine.pl b/contrib/buildsystems/engine.pl\nindex 23da787dc..a173669ce 100755\n--- a/contrib/buildsystems/engine.pl\n+++ b/contrib/buildsystems/engine.pl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl -w\n+#!/usr/bin/perl\n ######################################################################\n # Do not call this script directly!\n #\n@@ -8,6 +8,7 @@\n # Copyright (C) 2009 Marius Storm-Olsen <mstormo@gmail.com>\n ######################################################################\n use strict;\n+use warnings;\n use File::Basename;\n use File::Spec;\n use Cwd;\ndiff --git a/contrib/buildsystems/generate b/contrib/buildsystems/generate\nindex bc10f25ff..9af89454a 100755\n--- a/contrib/buildsystems/generate\n+++ b/contrib/buildsystems/generate\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl -w\n+#!/usr/bin/perl\n ######################################################################\n # Generate buildsystem files\n #\n@@ -19,6 +19,7 @@\n # Copyright (C) 2009 Marius Storm-Olsen <mstormo@gmail.com>\n ######################################################################\n use strict;\n+use warnings;\n use File::Basename;\n use Cwd;\n \ndiff --git a/contrib/buildsystems/parse.pl b/contrib/buildsystems/parse.pl\nindex c9656ece9..33ca89eb0 100755\n--- a/contrib/buildsystems/parse.pl\n+++ b/contrib/buildsystems/parse.pl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl -w\n+#!/usr/bin/perl\n ######################################################################\n # Do not call this script directly!\n #\n@@ -8,6 +8,7 @@\n # Copyright (C) 2009 Marius Storm-Olsen <mstormo@gmail.com>\n ######################################################################\n use strict;\n+use warnings;\n use File::Basename;\n use Cwd;\n \ndiff --git a/contrib/examples/git-remote.perl b/contrib/examples/git-remote.perl\nindex d42df7b41..5bf3ffd4c 100755\n--- a/contrib/examples/git-remote.perl\n+++ b/contrib/examples/git-remote.perl\n@@ -1,6 +1,7 @@\n-#!/usr/bin/perl -w\n+#!/usr/bin/perl\n \n use strict;\n+use warnings;\n use Git;\n my $git = Git->repository();\n \ndiff --git a/contrib/mw-to-git/t/test-gitmw.pl b/contrib/mw-to-git/t/test-gitmw.pl\nindex 0ff76259f..8d0e7c078 100755\n--- a/contrib/mw-to-git/t/test-gitmw.pl\n+++ b/contrib/mw-to-git/t/test-gitmw.pl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl -w -s\n+#!/usr/bin/perl\n # Copyright (C) 2012\n #     Charles Roussel <charles.roussel@ensimag.imag.fr>\n #     Simon Cathebras <simon.cathebras@ensimag.imag.fr>\n@@ -22,6 +22,9 @@\n #     \"edit_page\"\n #     \"getallpagename\"\n \n+use strict;\n+use warnings;\n+\n use MediaWiki::API;\n use Getopt::Long;\n use encoding 'utf8';\n-- \n2.11.0\n\n"},{"id":"309250","messageId":"20170112055140.29877-1-pat.pannuto@gmail.com","threadId":"44858","inReplyTo":null,"subject":"[PATCH 0/2] Use env for all perl invocations","fromName":"Pat Pannuto","fromEmail":"pat.pannuto@gmail.com","sentAt":"2017-01-12T05:51:38Z","receivedAt":"2017-01-12T06:01:39Z","isPatch":true,"sender":{"key":"pat.pannuto@gmail.com","avatar":"https://gravatar.com/avatar/e942232170ea8ec1d1e10bd6e498faa84d34c9acd56b630ed96cff34df0cf65c?d=mp&s=160"},"body":"I spent a little while debugging why git-format-patch refused to believe\nthat SSL support was installed (Can't locate Net/SMTP/SSL.pm in @INC...)\nTurns out that it was installed for my system's preferred /usr/local/bin/perl,\nbut not for git-format-patch's hard-coded /usr/bin/perl; changing the shebang\nallowed git format-patch to work as expected.\n\nThis patch set converts all perl invocations in git to use env so that the\nuser-preferred perl interpreter is always used.\n\nPat Pannuto (2):\n  Convert all 'perl -w' to 'perl' + 'use warnings;'\n  Use 'env' to find perl instead of fixed path\n\n Documentation/build-docdep.perl               | 2 +-\n Documentation/cat-texi.perl                   | 4 +++-\n Documentation/cmd-list.perl                   | 4 +++-\n Documentation/fix-texi.perl                   | 4 +++-\n Documentation/lint-gitlink.perl               | 2 +-\n compat/vcbuild/scripts/clink.pl               | 3 ++-\n compat/vcbuild/scripts/lib.pl                 | 3 ++-\n contrib/buildsystems/engine.pl                | 3 ++-\n contrib/buildsystems/generate                 | 3 ++-\n contrib/buildsystems/parse.pl                 | 3 ++-\n contrib/contacts/git-contacts                 | 2 +-\n contrib/credential/netrc/git-credential-netrc | 2 +-\n contrib/credential/netrc/test.pl              | 2 +-\n contrib/diff-highlight/diff-highlight         | 2 +-\n contrib/examples/git-remote.perl              | 3 ++-\n contrib/examples/git-rerere.perl              | 2 +-\n contrib/examples/git-svnimport.perl           | 2 +-\n contrib/fast-import/git-import.perl           | 2 +-\n contrib/fast-import/import-directories.perl   | 2 +-\n contrib/fast-import/import-tars.perl          | 2 +-\n contrib/hooks/setgitperms.perl                | 2 +-\n contrib/hooks/update-paranoid                 | 2 +-\n contrib/long-running-filter/example.pl        | 2 +-\n contrib/mw-to-git/git-mw.perl                 | 2 +-\n contrib/mw-to-git/git-remote-mediawiki.perl   | 2 +-\n contrib/mw-to-git/t/test-gitmw.pl             | 5 ++++-\n contrib/stats/mailmap.pl                      | 2 +-\n contrib/stats/packinfo.pl                     | 2 +-\n git-add--interactive.perl                     | 2 +-\n git-archimport.perl                           | 2 +-\n git-cvsexportcommit.perl                      | 2 +-\n git-cvsimport.perl                            | 2 +-\n git-cvsserver.perl                            | 2 +-\n git-difftool.perl                             | 2 +-\n git-relink.perl                               | 2 +-\n git-send-email.perl                           | 2 +-\n git-svn.perl                                  | 2 +-\n gitweb/gitweb.perl                            | 2 +-\n t/Git-SVN/Utils/can_compress.t                | 2 +-\n t/Git-SVN/Utils/fatal.t                       | 2 +-\n t/check-non-portable-shell.pl                 | 2 +-\n t/gitweb-lib.sh                               | 2 +-\n t/perf/aggregate.perl                         | 2 +-\n t/perf/min_time.perl                          | 2 +-\n t/t0202/test.pl                               | 2 +-\n t/t4034/perl/post                             | 2 +-\n t/t4034/perl/pre                              | 2 +-\n t/t9000/test.pl                               | 2 +-\n t/t9500-gitweb-standalone-no-errors.sh        | 2 +-\n t/t9700/test.pl                               | 2 +-\n t/test-terminal.perl                          | 2 +-\n 51 files changed, 66 insertions(+), 51 deletions(-)\n\n-- \n2.11.0\n\n"},{"id":"309251","messageId":"20170112055140.29877-3-pat.pannuto@gmail.com","threadId":"44858","inReplyTo":"20170112055140.29877-1-pat.pannuto@gmail.com","subject":"[PATCH 2/2] Use 'env' to find perl instead of fixed path","fromName":"Pat Pannuto","fromEmail":"pat.pannuto@gmail.com","sentAt":"2017-01-12T05:51:40Z","receivedAt":"2017-01-12T06:02:29Z","isPatch":true,"sender":{"key":"pat.pannuto@gmail.com","avatar":"https://gravatar.com/avatar/e942232170ea8ec1d1e10bd6e498faa84d34c9acd56b630ed96cff34df0cf65c?d=mp&s=160"},"body":"Depending on system configuration, /usr/bin/perl may not be the\npreferred perl interpreter, use /usr/bin/env perl to invoke perl\ninstead to repsect user preferences.\n\nIn most cases this will not matter as any perl install will work,\nbut for applications such as git-format-patch, which may require\nplugins such as Net/SMTP/SSL.pm to be installed, it is very confusing\nwhen git fails to work after installation because it chose the\nwrong perl installation.\n\nThis patch converts all shebangs to use env for consistency across\nthe project.\n\nSigned-off-by: Pat Pannuto <pat.pannuto@gmail.com>\n---\n Documentation/build-docdep.perl               | 2 +-\n Documentation/cat-texi.perl                   | 2 +-\n Documentation/cmd-list.perl                   | 2 +-\n Documentation/fix-texi.perl                   | 2 +-\n Documentation/lint-gitlink.perl               | 2 +-\n compat/vcbuild/scripts/clink.pl               | 2 +-\n compat/vcbuild/scripts/lib.pl                 | 2 +-\n contrib/buildsystems/engine.pl                | 2 +-\n contrib/buildsystems/generate                 | 2 +-\n contrib/buildsystems/parse.pl                 | 2 +-\n contrib/contacts/git-contacts                 | 2 +-\n contrib/credential/netrc/git-credential-netrc | 2 +-\n contrib/credential/netrc/test.pl              | 2 +-\n contrib/diff-highlight/diff-highlight         | 2 +-\n contrib/examples/git-remote.perl              | 2 +-\n contrib/examples/git-rerere.perl              | 2 +-\n contrib/examples/git-svnimport.perl           | 2 +-\n contrib/fast-import/git-import.perl           | 2 +-\n contrib/fast-import/import-directories.perl   | 2 +-\n contrib/fast-import/import-tars.perl          | 2 +-\n contrib/hooks/setgitperms.perl                | 2 +-\n contrib/hooks/update-paranoid                 | 2 +-\n contrib/long-running-filter/example.pl        | 2 +-\n contrib/mw-to-git/git-mw.perl                 | 2 +-\n contrib/mw-to-git/git-remote-mediawiki.perl   | 2 +-\n contrib/mw-to-git/t/test-gitmw.pl             | 2 +-\n contrib/stats/mailmap.pl                      | 2 +-\n contrib/stats/packinfo.pl                     | 2 +-\n git-add--interactive.perl                     | 2 +-\n git-archimport.perl                           | 2 +-\n git-cvsexportcommit.perl                      | 2 +-\n git-cvsimport.perl                            | 2 +-\n git-cvsserver.perl                            | 2 +-\n git-difftool.perl                             | 2 +-\n git-relink.perl                               | 2 +-\n git-send-email.perl                           | 2 +-\n git-svn.perl                                  | 2 +-\n gitweb/gitweb.perl                            | 2 +-\n t/Git-SVN/Utils/can_compress.t                | 2 +-\n t/Git-SVN/Utils/fatal.t                       | 2 +-\n t/check-non-portable-shell.pl                 | 2 +-\n t/gitweb-lib.sh                               | 2 +-\n t/perf/aggregate.perl                         | 2 +-\n t/perf/min_time.perl                          | 2 +-\n t/t0202/test.pl                               | 2 +-\n t/t4034/perl/post                             | 2 +-\n t/t4034/perl/pre                              | 2 +-\n t/t9000/test.pl                               | 2 +-\n t/t9500-gitweb-standalone-no-errors.sh        | 2 +-\n t/t9700/test.pl                               | 2 +-\n t/test-terminal.perl                          | 2 +-\n 51 files changed, 51 insertions(+), 51 deletions(-)\n\ndiff --git a/Documentation/build-docdep.perl b/Documentation/build-docdep.perl\nindex ba4205e03..dc50f21f3 100755\n--- a/Documentation/build-docdep.perl\n+++ b/Documentation/build-docdep.perl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n \n my %include = ();\n my %included = ();\ndiff --git a/Documentation/cat-texi.perl b/Documentation/cat-texi.perl\nindex 1cd28b1b5..98dcc2c42 100755\n--- a/Documentation/cat-texi.perl\n+++ b/Documentation/cat-texi.perl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n \n use warnings;\n \ndiff --git a/Documentation/cmd-list.perl b/Documentation/cmd-list.perl\nindex ba640a441..f440eebe3 100755\n--- a/Documentation/cmd-list.perl\n+++ b/Documentation/cmd-list.perl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n \n use warnings;\n \ndiff --git a/Documentation/fix-texi.perl b/Documentation/fix-texi.perl\nindex c247aece7..61287a0a9 100755\n--- a/Documentation/fix-texi.perl\n+++ b/Documentation/fix-texi.perl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n \n use warnings;\n \ndiff --git a/Documentation/lint-gitlink.perl b/Documentation/lint-gitlink.perl\nindex 476cc30b8..3e4b00eda 100755\n--- a/Documentation/lint-gitlink.perl\n+++ b/Documentation/lint-gitlink.perl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n \n use File::Find;\n use Getopt::Long;\ndiff --git a/compat/vcbuild/scripts/clink.pl b/compat/vcbuild/scripts/clink.pl\nindex 46eb61c5c..857847703 100755\n--- a/compat/vcbuild/scripts/clink.pl\n+++ b/compat/vcbuild/scripts/clink.pl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n ######################################################################\n # Compiles or links files\n #\ndiff --git a/compat/vcbuild/scripts/lib.pl b/compat/vcbuild/scripts/lib.pl\nindex e571b8470..9b43f1270 100755\n--- a/compat/vcbuild/scripts/lib.pl\n+++ b/compat/vcbuild/scripts/lib.pl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n ######################################################################\n # Libifies files on Windows\n #\ndiff --git a/contrib/buildsystems/engine.pl b/contrib/buildsystems/engine.pl\nindex a173669ce..ace1fd4bf 100755\n--- a/contrib/buildsystems/engine.pl\n+++ b/contrib/buildsystems/engine.pl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n ######################################################################\n # Do not call this script directly!\n #\ndiff --git a/contrib/buildsystems/generate b/contrib/buildsystems/generate\nindex 9af89454a..d6ce919cb 100755\n--- a/contrib/buildsystems/generate\n+++ b/contrib/buildsystems/generate\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n ######################################################################\n # Generate buildsystem files\n #\ndiff --git a/contrib/buildsystems/parse.pl b/contrib/buildsystems/parse.pl\nindex 33ca89eb0..492acf447 100755\n--- a/contrib/buildsystems/parse.pl\n+++ b/contrib/buildsystems/parse.pl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n ######################################################################\n # Do not call this script directly!\n #\ndiff --git a/contrib/contacts/git-contacts b/contrib/contacts/git-contacts\nindex dbe2abf27..70ec2039a 100755\n--- a/contrib/contacts/git-contacts\n+++ b/contrib/contacts/git-contacts\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n \n # List people who might be interested in a patch.  Useful as the argument to\n # git-send-email --cc-cmd option, and in other situations.\ndiff --git a/contrib/credential/netrc/git-credential-netrc b/contrib/credential/netrc/git-credential-netrc\nindex 1571a7b26..ec8178f26 100755\n--- a/contrib/credential/netrc/git-credential-netrc\n+++ b/contrib/credential/netrc/git-credential-netrc\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n \n use strict;\n use warnings;\ndiff --git a/contrib/credential/netrc/test.pl b/contrib/credential/netrc/test.pl\nindex 169b6463c..6b44ba54d 100755\n--- a/contrib/credential/netrc/test.pl\n+++ b/contrib/credential/netrc/test.pl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n \n use warnings;\n use strict;\ndiff --git a/contrib/diff-highlight/diff-highlight b/contrib/diff-highlight/diff-highlight\nindex 81bd8040e..ecf419542 100755\n--- a/contrib/diff-highlight/diff-highlight\n+++ b/contrib/diff-highlight/diff-highlight\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n \n use 5.008;\n use warnings FATAL => 'all';\ndiff --git a/contrib/examples/git-remote.perl b/contrib/examples/git-remote.perl\nindex 5bf3ffd4c..2c8f18a13 100755\n--- a/contrib/examples/git-remote.perl\n+++ b/contrib/examples/git-remote.perl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n \n use strict;\n use warnings;\ndiff --git a/contrib/examples/git-rerere.perl b/contrib/examples/git-rerere.perl\nindex 4f692091e..110c27f4f 100755\n--- a/contrib/examples/git-rerere.perl\n+++ b/contrib/examples/git-rerere.perl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n #\n # REuse REcorded REsolve.  This tool records a conflicted automerge\n # result and its hand resolution, and helps to resolve future\ndiff --git a/contrib/examples/git-svnimport.perl b/contrib/examples/git-svnimport.perl\nindex c414f0d9c..d183a8d66 100755\n--- a/contrib/examples/git-svnimport.perl\n+++ b/contrib/examples/git-svnimport.perl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n \n # This tool is copyright (c) 2005, Matthias Urlichs.\n # It is released under the Gnu Public License, version 2.\ndiff --git a/contrib/fast-import/git-import.perl b/contrib/fast-import/git-import.perl\nindex 0891b9e36..440790523 100755\n--- a/contrib/fast-import/git-import.perl\n+++ b/contrib/fast-import/git-import.perl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n #\n # Performs an initial import of a directory. This is the equivalent\n # of doing 'git init; git add .; git commit'. It's a little slower,\ndiff --git a/contrib/fast-import/import-directories.perl b/contrib/fast-import/import-directories.perl\nindex 4dec1f18e..197307570 100755\n--- a/contrib/fast-import/import-directories.perl\n+++ b/contrib/fast-import/import-directories.perl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n #\n # Copyright 2008-2009 Peter Krefting <peter@softwolves.pp.se>\n #\ndiff --git a/contrib/fast-import/import-tars.perl b/contrib/fast-import/import-tars.perl\nindex d60b4315e..30f3ff384 100755\n--- a/contrib/fast-import/import-tars.perl\n+++ b/contrib/fast-import/import-tars.perl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n \n ## tar archive frontend for git-fast-import\n ##\ndiff --git a/contrib/hooks/setgitperms.perl b/contrib/hooks/setgitperms.perl\nindex 2770a1b1d..18444e015 100755\n--- a/contrib/hooks/setgitperms.perl\n+++ b/contrib/hooks/setgitperms.perl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n #\n # Copyright (c) 2006 Josh England\n #\ndiff --git a/contrib/hooks/update-paranoid b/contrib/hooks/update-paranoid\nindex d18b317b2..95595acf5 100755\n--- a/contrib/hooks/update-paranoid\n+++ b/contrib/hooks/update-paranoid\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n \n use strict;\n use File::Spec;\ndiff --git a/contrib/long-running-filter/example.pl b/contrib/long-running-filter/example.pl\nindex a677569dd..0ca49e370 100755\n--- a/contrib/long-running-filter/example.pl\n+++ b/contrib/long-running-filter/example.pl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n #\n # Example implementation for the Git filter protocol version 2\n # See Documentation/gitattributes.txt, section \"Filter Protocol\"\ndiff --git a/contrib/mw-to-git/git-mw.perl b/contrib/mw-to-git/git-mw.perl\nindex 28df3ee32..50c0549b5 100755\n--- a/contrib/mw-to-git/git-mw.perl\n+++ b/contrib/mw-to-git/git-mw.perl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n \n # Copyright (C) 2013\n #     Benoit Person <benoit.person@ensimag.imag.fr>\ndiff --git a/contrib/mw-to-git/git-remote-mediawiki.perl b/contrib/mw-to-git/git-remote-mediawiki.perl\nindex 41e74fba1..f8ce245cf 100755\n--- a/contrib/mw-to-git/git-remote-mediawiki.perl\n+++ b/contrib/mw-to-git/git-remote-mediawiki.perl\n@@ -1,4 +1,4 @@\n-#! /usr/bin/perl\n+#!/usr/bin/env perl\n \n # Copyright (C) 2011\n #     Jérémie Nikaes <jeremie.nikaes@ensimag.imag.fr>\ndiff --git a/contrib/mw-to-git/t/test-gitmw.pl b/contrib/mw-to-git/t/test-gitmw.pl\nindex 8d0e7c078..a8272d942 100755\n--- a/contrib/mw-to-git/t/test-gitmw.pl\n+++ b/contrib/mw-to-git/t/test-gitmw.pl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n # Copyright (C) 2012\n #     Charles Roussel <charles.roussel@ensimag.imag.fr>\n #     Simon Cathebras <simon.cathebras@ensimag.imag.fr>\ndiff --git a/contrib/stats/mailmap.pl b/contrib/stats/mailmap.pl\nindex 9513f5e35..469af8240 100755\n--- a/contrib/stats/mailmap.pl\n+++ b/contrib/stats/mailmap.pl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n \n use warnings 'all';\n use strict;\ndiff --git a/contrib/stats/packinfo.pl b/contrib/stats/packinfo.pl\nindex be188c0f1..51823ac94 100755\n--- a/contrib/stats/packinfo.pl\n+++ b/contrib/stats/packinfo.pl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n #\n # This tool will print vaguely pretty information about a pack.  It\n # expects the output of \"git verify-pack -v\" as input on stdin.\ndiff --git a/git-add--interactive.perl b/git-add--interactive.perl\nindex cf6fc926a..6d7b6c35d 100755\n--- a/git-add--interactive.perl\n+++ b/git-add--interactive.perl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n \n use 5.008;\n use strict;\ndiff --git a/git-archimport.perl b/git-archimport.perl\nindex 9cb123a07..bb423e781 100755\n--- a/git-archimport.perl\n+++ b/git-archimport.perl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n #\n # This tool is copyright (c) 2005, Martin Langhoff.\n # It is released under the Gnu Public License, version 2.\ndiff --git a/git-cvsexportcommit.perl b/git-cvsexportcommit.perl\nindex d13f02da9..c2ebfb59f 100755\n--- a/git-cvsexportcommit.perl\n+++ b/git-cvsexportcommit.perl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n \n use 5.008;\n use strict;\ndiff --git a/git-cvsimport.perl b/git-cvsimport.perl\nindex 1e4e65a45..5dcdd8106 100755\n--- a/git-cvsimport.perl\n+++ b/git-cvsimport.perl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n \n # This tool is copyright (c) 2005, Matthias Urlichs.\n # It is released under the Gnu Public License, version 2.\ndiff --git a/git-cvsserver.perl b/git-cvsserver.perl\nindex d50c85ed7..3ae5e748b 100755\n--- a/git-cvsserver.perl\n+++ b/git-cvsserver.perl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n \n ####\n #### This application is a CVS emulation layer for git.\ndiff --git a/git-difftool.perl b/git-difftool.perl\nindex df59bdfe9..a34d0f7fd 100755\n--- a/git-difftool.perl\n+++ b/git-difftool.perl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n # Copyright (c) 2009, 2010 David Aguilar\n # Copyright (c) 2012 Tim Henigan\n #\ndiff --git a/git-relink.perl b/git-relink.perl\nindex 236a3521a..b51348fa6 100755\n--- a/git-relink.perl\n+++ b/git-relink.perl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n # Copyright 2005, Ryan Anderson <ryan@michonline.com>\n # Distribution permitted under the GPL v2, as distributed\n # by the Free Software Foundation.\ndiff --git a/git-send-email.perl b/git-send-email.perl\nindex 068d60b3e..678d823af 100755\n--- a/git-send-email.perl\n+++ b/git-send-email.perl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n #\n # Copyright 2002,2005 Greg Kroah-Hartman <greg@kroah.com>\n # Copyright 2005 Ryan Anderson <ryan@michonline.com>\ndiff --git a/git-svn.perl b/git-svn.perl\nindex fa4236478..ae3991524 100755\n--- a/git-svn.perl\n+++ b/git-svn.perl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n # Copyright (C) 2006, Eric Wong <normalperson@yhbt.net>\n # License: GPL v2 or later\n use 5.008;\ndiff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl\nindex 7cf68f07b..d084360e6 100755\n--- a/gitweb/gitweb.perl\n+++ b/gitweb/gitweb.perl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n \n # gitweb - simple web interface to track changes in git repositories\n #\ndiff --git a/t/Git-SVN/Utils/can_compress.t b/t/Git-SVN/Utils/can_compress.t\nindex d7b49b8d5..0cdedb25b 100755\n--- a/t/Git-SVN/Utils/can_compress.t\n+++ b/t/Git-SVN/Utils/can_compress.t\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n \n use strict;\n use warnings;\ndiff --git a/t/Git-SVN/Utils/fatal.t b/t/Git-SVN/Utils/fatal.t\nindex 49e143829..75aaf1633 100755\n--- a/t/Git-SVN/Utils/fatal.t\n+++ b/t/Git-SVN/Utils/fatal.t\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n \n use strict;\n use warnings;\ndiff --git a/t/check-non-portable-shell.pl b/t/check-non-portable-shell.pl\nindex b170cbc04..3c3e2e7d4 100755\n--- a/t/check-non-portable-shell.pl\n+++ b/t/check-non-portable-shell.pl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n \n # Test t0000..t9999.sh for non portable shell scripts\n # This script can be called with one or more filenames as parameters\ndiff --git a/t/gitweb-lib.sh b/t/gitweb-lib.sh\nindex d5dab5a94..b23843ff4 100644\n--- a/t/gitweb-lib.sh\n+++ b/t/gitweb-lib.sh\n@@ -7,7 +7,7 @@\n gitweb_init () {\n \tsafe_pwd=\"$(perl -MPOSIX=getcwd -e 'print quotemeta(getcwd)')\"\n \tcat >gitweb_config.perl <<EOF\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n \n # gitweb configuration for tests\n \ndiff --git a/t/perf/aggregate.perl b/t/perf/aggregate.perl\nindex 924b19dab..2c6278ca6 100755\n--- a/t/perf/aggregate.perl\n+++ b/t/perf/aggregate.perl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n \n use lib '../../perl/blib/lib';\n use strict;\ndiff --git a/t/perf/min_time.perl b/t/perf/min_time.perl\nindex c1a2717e0..2595eae61 100755\n--- a/t/perf/min_time.perl\n+++ b/t/perf/min_time.perl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n \n my $minrt = 1e100;\n my $min;\ndiff --git a/t/t0202/test.pl b/t/t0202/test.pl\nindex 2cbf7b959..d8e967bbc 100755\n--- a/t/t0202/test.pl\n+++ b/t/t0202/test.pl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n use 5.008;\n use lib (split(/:/, $ENV{GITPERLLIB}));\n use strict;\ndiff --git a/t/t4034/perl/post b/t/t4034/perl/post\nindex e8b72ef5d..87500971d 100644\n--- a/t/t4034/perl/post\n+++ b/t/t4034/perl/post\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n \n use strict;\n \ndiff --git a/t/t4034/perl/pre b/t/t4034/perl/pre\nindex f6610d37b..5ab5aa42f 100644\n--- a/t/t4034/perl/pre\n+++ b/t/t4034/perl/pre\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n \n use strict;\n \ndiff --git a/t/t9000/test.pl b/t/t9000/test.pl\nindex dfeaa9c65..4e47f3887 100755\n--- a/t/t9000/test.pl\n+++ b/t/t9000/test.pl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n use lib (split(/:/, $ENV{GITPERLLIB}));\n \n use 5.008;\ndiff --git a/t/t9500-gitweb-standalone-no-errors.sh b/t/t9500-gitweb-standalone-no-errors.sh\nindex 6d06ed96c..d8b5622b5 100755\n--- a/t/t9500-gitweb-standalone-no-errors.sh\n+++ b/t/t9500-gitweb-standalone-no-errors.sh\n@@ -712,7 +712,7 @@ test_expect_success HIGHLIGHT \\\n test_expect_success HIGHLIGHT \\\n \t'syntax highlighting (highlighter language autodetection)' \\\n \t'git config gitweb.highlight yes &&\n-\t echo \"#!/usr/bin/perl\" > test &&\n+\t echo \"#!/usr/bin/env perl\" > test &&\n \t git add test &&\n \t git commit -m \"Add test\" &&\n \t gitweb_run \"p=.git;a=blob;f=test\"'\ndiff --git a/t/t9700/test.pl b/t/t9700/test.pl\nindex 1b75c9196..c0be7e895 100755\n--- a/t/t9700/test.pl\n+++ b/t/t9700/test.pl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n use lib (split(/:/, $ENV{GITPERLLIB}));\n \n use 5.008;\ndiff --git a/t/test-terminal.perl b/t/test-terminal.perl\nindex 96b6a03e1..d1d40c0db 100755\n--- a/t/test-terminal.perl\n+++ b/t/test-terminal.perl\n@@ -1,4 +1,4 @@\n-#!/usr/bin/perl\n+#!/usr/bin/env perl\n use 5.008;\n use strict;\n use warnings;\n-- \n2.11.0\n\n"},{"id":"309252","messageId":"xmqqa8awn6i6.fsf@gitster.mtv.corp.google.com","threadId":"44858","inReplyTo":"20170112055140.29877-1-pat.pannuto@gmail.com","subject":"Re: [PATCH 0/2] Use env for all perl invocations","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2017-01-12T06:21:05Z","receivedAt":"2017-01-12T06:21:14Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Pat Pannuto <pat.pannuto@gmail.com> writes:\n\n> I spent a little while debugging why git-format-patch refused to believe\n> that SSL support was installed (Can't locate Net/SMTP/SSL.pm in @INC...)\n> Turns out that it was installed for my system's preferred /usr/local/bin/perl,\n> but not for git-format-patch's hard-coded /usr/bin/perl; changing the shebang\n> allowed git format-patch to work as expected.\n\nIsn't that an indication that you are not building correctly?\nPerhaps\n\n    $ git grep 'Define PERL_' Makefile\n    $ make PERL_PATH=/usr/local/bin/perl\n\nwould help?\n"},{"id":"309253","messageId":"6fe462dd-929a-671b-a210-36ee38e99115@kdbg.org","threadId":"44858","inReplyTo":"20170112055140.29877-3-pat.pannuto@gmail.com","subject":"Re: [PATCH 2/2] Use 'env' to find perl instead of fixed path","fromName":"Johannes Sixt","fromEmail":"j6t@kdbg.org","sentAt":"2017-01-12T06:27:22Z","receivedAt":"2017-01-12T06:27:31Z","isPatch":true,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"Am 12.01.2017 um 06:51 schrieb Pat Pannuto:\n> diff --git a/git-add--interactive.perl b/git-add--interactive.perl\n> index cf6fc926a..6d7b6c35d 100755\n> --- a/git-add--interactive.perl\n> +++ b/git-add--interactive.perl\n> @@ -1,4 +1,4 @@\n> -#!/usr/bin/perl\n> +#!/usr/bin/env perl\n\nThis change, and all others that affect installed external git programs, \nis a no-go. On Windows, our execve emulation is not complete. It would \ninvoke only `env` (looked up in PATH), but not pass 'perl' as argument.\n\nSorry for the bad news.\n\nI would have suggested to set PERL_PATH in your config.mak, but that \ndoes not change the generated perl scripts, I think. Perhaps you should \nimplement that?\n\nI'm not thrilled about your changes to the test scripts, but I do not \nexpect that they break on Windows.\n\n-- Hannes\n\n"},{"id":"309255","messageId":"CAAnLKaHrGkAkF+kZtrawDSkuhVkvvUZONp6PQj6=3AGoAwFxyw@mail.gmail.com","threadId":"44858","inReplyTo":"xmqqa8awn6i6.fsf@gitster.mtv.corp.google.com","subject":"Re: [PATCH 0/2] Use env for all perl invocations","fromName":"Pat Pannuto","fromEmail":"pat.pannuto@gmail.com","sentAt":"2017-01-12T07:13:03Z","receivedAt":"2017-01-12T07:13:31Z","isPatch":true,"sender":{"key":"pat.pannuto@gmail.com","avatar":"https://gravatar.com/avatar/e942232170ea8ec1d1e10bd6e498faa84d34c9acd56b630ed96cff34df0cf65c?d=mp&s=160"},"body":"[plain text re-send, sorry]\n\nInteresting, I'm guessing this came from when git was installed (\nhttps://github.com/Homebrew/homebrew-core/blob/master/Formula/git.rb#L50\n), when the perl path was likely still /usr/bin/perl\n\nIt feels weird to me that the perl path is fixed at\ncompile/install-time as opposed to run-time discovery -- this means\nusers can't change their perl install without breaking git?\n\nOn Thu, Jan 12, 2017 at 1:21 AM, Junio C Hamano <gitster@pobox.com> wrote:\n> Pat Pannuto <pat.pannuto@gmail.com> writes:\n>\n>> I spent a little while debugging why git-format-patch refused to believe\n>> that SSL support was installed (Can't locate Net/SMTP/SSL.pm in @INC...)\n>> Turns out that it was installed for my system's preferred /usr/local/bin/perl,\n>> but not for git-format-patch's hard-coded /usr/bin/perl; changing the shebang\n>> allowed git format-patch to work as expected.\n>\n> Isn't that an indication that you are not building correctly?\n> Perhaps\n>\n>     $ git grep 'Define PERL_' Makefile\n>     $ make PERL_PATH=/usr/local/bin/perl\n>\n> would help?\n"},{"id":"309256","messageId":"CAAnLKaGbf9-GAF19+61=7_RfCOBM0=Ounwf8KkL1jS6HX3pOag@mail.gmail.com","threadId":"44858","inReplyTo":"6fe462dd-929a-671b-a210-36ee38e99115@kdbg.org","subject":"Re: [PATCH 2/2] Use 'env' to find perl instead of fixed path","fromName":"Pat Pannuto","fromEmail":"pat.pannuto@gmail.com","sentAt":"2017-01-12T07:17:55Z","receivedAt":"2017-01-12T07:18:37Z","isPatch":true,"sender":{"key":"pat.pannuto@gmail.com","avatar":"https://gravatar.com/avatar/e942232170ea8ec1d1e10bd6e498faa84d34c9acd56b630ed96cff34df0cf65c?d=mp&s=160"},"body":"I'm not at all attached to changing all of them, just figured it made\nsense while I was here.\n\nWould a patch that changes only:\n\n git-add--interactive.perl                     | 2 +-\n git-archimport.perl                           | 2 +-\n git-cvsexportcommit.perl                      | 2 +-\n git-cvsimport.perl                            | 2 +-\n git-cvsserver.perl                            | 2 +-\n git-difftool.perl                             | 2 +-\n git-relink.perl                               | 2 +-\n git-send-email.perl                           | 2 +-\n git-svn.perl                                  | 2 +-\n\nbe more acceptable?\n\nOn Thu, Jan 12, 2017 at 1:27 AM, Johannes Sixt <j6t@kdbg.org> wrote:\n> Am 12.01.2017 um 06:51 schrieb Pat Pannuto:\n>>\n>> diff --git a/git-add--interactive.perl b/git-add--interactive.perl\n>> index cf6fc926a..6d7b6c35d 100755\n>> --- a/git-add--interactive.perl\n>> +++ b/git-add--interactive.perl\n>> @@ -1,4 +1,4 @@\n>> -#!/usr/bin/perl\n>> +#!/usr/bin/env perl\n>\n>\n> This change, and all others that affect installed external git programs, is\n> a no-go. On Windows, our execve emulation is not complete. It would invoke\n> only `env` (looked up in PATH), but not pass 'perl' as argument.\n>\n> Sorry for the bad news.\n>\n> I would have suggested to set PERL_PATH in your config.mak, but that does\n> not change the generated perl scripts, I think. Perhaps you should implement\n> that?\n>\n> I'm not thrilled about your changes to the test scripts, but I do not expect\n> that they break on Windows.\n>\n> -- Hannes\n>\n"},{"id":"309259","messageId":"xmqqshoolmct.fsf@gitster.mtv.corp.google.com","threadId":"44858","inReplyTo":"CAAnLKaHrGkAkF+kZtrawDSkuhVkvvUZONp6PQj6=3AGoAwFxyw@mail.gmail.com","subject":"Re: [PATCH 0/2] Use env for all perl invocations","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2017-01-12T08:21:38Z","receivedAt":"2017-01-12T08:21:47Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Pat Pannuto <pat.pannuto@gmail.com> writes:\n\n> It feels weird to me that the perl path is fixed at\n> compile/install-time as opposed to run-time discovery -- this means\n> users can't change their perl install without breaking git?\n\nAmong the software packages that use interpreters like perl, python,\nruby, etc., there are ones that seem to consider that it is a good\nidea to let \"#!/usr/bin/env $language\" pick whatever variant\n[*1*] of the $language that happens to be on end-user's $PATH.\n\nGit does not subscribe to that thought, and it is done for very good\nreasons.\n\nWhen you take a popular $language used by many software packages, it\nis more than likely that one particular end user uses more than one\nsuch package written in the same $language.  If one assumes that\nthere is one variant of $language such software packages can all\nuse, then $PATH can be tweaked so that the common variant and no\nother variants of $language can be found and you are done.\n\nHowever, that is too simplistic in real life.  If you are using Git\n(which wants Perl 5.8 or later with certain libs) and some other\nsoftware package that needs a much older Perl, there is no such\nsingle variant that can be placed on end-user's $PATH.  Only when\nall the other software packages write their she-bang line without\n\"env\" and instead point at the exact variant they need, Git can use\nthe \"env\" to rely on $PATH, but at that point, Git is being overly\narrogant.  It insists to be special among packages that use the same\n$language and wants the variant it needs to be on $PATH.\n\nGit knows that the real-world is not simplistic.  Git is not\narrogant, either.  And that is why it does not use \"#!/usr/bin/env\".\n\n\n[Footnote]\n\n*1* Here a \"variant\" of a $language refers to a binary of one\n    particular version of the $language, together with libs and\n    extensions it uses that are installed on the system.  You\n    apparently have two variants, one installed as /usr/bin/perl,\n    the other as /usr/local/bin/perl.\n"},{"id":"309266","messageId":"alpine.DEB.2.20.1701121118170.3469@virtualbox","threadId":"44858","inReplyTo":"CAAnLKaGbf9-GAF19+61=7_RfCOBM0=Ounwf8KkL1jS6HX3pOag@mail.gmail.com","subject":"Re: [PATCH 2/2] Use 'env' to find perl instead of fixed path","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2017-01-12T10:21:47Z","receivedAt":"2017-01-12T10:22:09Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Pat,\n\nOn Thu, 12 Jan 2017, Pat Pannuto wrote:\n\n> I'm not at all attached to changing all of them, just figured it made\n> sense while I was here.\n> \n> Would a patch that changes only:\n> \n>  git-add--interactive.perl                     | 2 +-\n>  git-archimport.perl                           | 2 +-\n>  git-cvsexportcommit.perl                      | 2 +-\n>  git-cvsimport.perl                            | 2 +-\n>  git-cvsserver.perl                            | 2 +-\n>  git-difftool.perl                             | 2 +-\n>  git-relink.perl                               | 2 +-\n>  git-send-email.perl                           | 2 +-\n>  git-svn.perl                                  | 2 +-\n> \n> be more acceptable?\n\nUnfortunately not. Take git-svn.perl for example, in particular in\nconjunction with Git for Windows. git-svn requires the Subversion bindings\nfor Perl, and they are a *major* pain to build correctly (this is\nfrequently underestimated by users who complain about git-svn problems).\n\nAllowing users to override the Perl path (even if it were possible, which\nit is not, as Hannes Sixt pointed out in the mail you replied to) would\nopen Git for Windows for a metric ton of users complaining that their\ngit-svn does not work (when it is their fault, really, by overriding Perl\nwith their own preferred version that comes without Subversion bindings,\nbut how would they know).\n\nSo if this patch would make it into upstream Git, I would *have* to revert\nit in Git for Windows, adding to my already considerable maintenance burden.\n\nCiao,\nJohannes\n"},{"id":"309287","messageId":"xmqqbmvcj9le.fsf@gitster.mtv.corp.google.com","threadId":"44858","inReplyTo":"alpine.DEB.2.20.1701121118170.3469@virtualbox","subject":"Re: [PATCH 2/2] Use 'env' to find perl instead of fixed path","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2017-01-12T20:40:13Z","receivedAt":"2017-01-12T20:40:21Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n\n> So if this patch would make it into upstream Git, I would *have* to revert\n> it in Git for Windows, adding to my already considerable maintenance burden.\n\nI do not think we want \"#!/usr/bin/env $language\" in the upstream,\neither.\n\n"},{"id":"309290","messageId":"CAAnLKaGvz4Wzs36gMSdoYCg+tzx6KFCe59FNnk5zNQ-L58ww1g@mail.gmail.com","threadId":"44858","inReplyTo":"xmqqbmvcj9le.fsf@gitster.mtv.corp.google.com","subject":"Re: [PATCH 2/2] Use 'env' to find perl instead of fixed path","fromName":"Pat Pannuto","fromEmail":"pat.pannuto@gmail.com","sentAt":"2017-01-12T21:01:59Z","receivedAt":"2017-01-12T21:02:25Z","isPatch":true,"sender":{"key":"pat.pannuto@gmail.com","avatar":"https://gravatar.com/avatar/e942232170ea8ec1d1e10bd6e498faa84d34c9acd56b630ed96cff34df0cf65c?d=mp&s=160"},"body":"I'm happy to let this drop.\n\nI've filed the missing perl library as a homebrew issue [1], so\nhopefully this won't be an issue for folks in the future.\n\nYou may still want the 1/2 patch in this series, just to make things\ninternally consistent with \"-w\" vs \"use warnings;\" inside git's perl\nscripts.\n\n-Pat\n\n[1] https://github.com/Homebrew/homebrew-core/issues/8783\n\nOn Thu, Jan 12, 2017 at 3:40 PM, Junio C Hamano <gitster@pobox.com> wrote:\n> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n>\n>> So if this patch would make it into upstream Git, I would *have* to revert\n>> it in Git for Windows, adding to my already considerable maintenance burden.\n>\n> I do not think we want \"#!/usr/bin/env $language\" in the upstream,\n> either.\n>\n"},{"id":"309298","messageId":"xmqqpojshrtw.fsf@gitster.mtv.corp.google.com","threadId":"44858","inReplyTo":"CAAnLKaGvz4Wzs36gMSdoYCg+tzx6KFCe59FNnk5zNQ-L58ww1g@mail.gmail.com","subject":"Re: [PATCH 2/2] Use 'env' to find perl instead of fixed path","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2017-01-12T21:49:15Z","receivedAt":"2017-01-12T21:49:23Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Pat Pannuto <pat.pannuto@gmail.com> writes:\n\n> You may still want the 1/2 patch in this series, just to make things\n> internally consistent with \"-w\" vs \"use warnings;\" inside git's perl\n> scripts.\n\nI do not think so.  1/2 is justified as a prerequisite of 2/2 and\nneeds a different log message, so cannot be used as is.\n\nI vaguely recall hearing arguments for and against the choice\nbetween \"#!path-to-perl -w\" vs \"use warnings;\" but do not recall the\ndetails to have a strong opinion either way, so we might even end up\nwanting to be \"internally consistent\" by going the other way.  Please\nprepare a standalone patch with an update message to convince people\nwhy \"use warnings;\" is more preferable than \"#!path-to-perl -w\" and\nexplaining that we are making things consistently use the more\npreferable form, if you want to go in that direction.\n\nThanks.\n\n\n"},{"id":"309343","messageId":"20170113024842.GA20572@starla","threadId":"44858","inReplyTo":"CAAnLKaGvz4Wzs36gMSdoYCg+tzx6KFCe59FNnk5zNQ-L58ww1g@mail.gmail.com","subject":"Re: [PATCH 2/2] Use 'env' to find perl instead of fixed path","fromName":"Eric Wong","fromEmail":"e@80x24.org","sentAt":"2017-01-13T02:48:42Z","receivedAt":"2017-01-13T02:49:00Z","isPatch":true,"sender":{"key":"e@80x24.org","avatar":null},"body":"Pat Pannuto <pat.pannuto@gmail.com> wrote:\n> You may still want the 1/2 patch in this series, just to make things\n> internally consistent with \"-w\" vs \"use warnings;\" inside git's perl\n> scripts.\n\nNo, that is a step back.  \"-w\" affects the entire process, so it\nspots more potential problems.  The \"warnings\" pragma is scoped\nto the enclosing block, so it won't span across files.\n\nExisting instances of \"use warnings\" should remain, but I would\nrather support adding \"-w\" to scripts which do not have it (and\nfixing newly-found warnings along the way).\n\nThanks.\n"},{"id":"309356","messageId":"alpine.DEB.2.20.1701131621170.3469@virtualbox","threadId":"44858","inReplyTo":"CAAnLKaGvz4Wzs36gMSdoYCg+tzx6KFCe59FNnk5zNQ-L58ww1g@mail.gmail.com","subject":"Re: [PATCH 2/2] Use 'env' to find perl instead of fixed path","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2017-01-13T15:21:39Z","receivedAt":"2017-01-13T15:22:08Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Pat,\n\nOn Thu, 12 Jan 2017, Pat Pannuto wrote:\n\n> You may still want the 1/2 patch in this series, just to make things\n> internally consistent with \"-w\" vs \"use warnings;\" inside git's perl\n> scripts.\n\nYes, I like that patch.\n\nCiao,\nJohannes\n"},{"id":"309358","messageId":"alpine.DEB.2.20.1701131626160.3469@virtualbox","threadId":"44858","inReplyTo":"20170113024842.GA20572@starla","subject":"Re: [PATCH 2/2] Use 'env' to find perl instead of fixed path","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2017-01-13T15:27:10Z","receivedAt":"2017-01-13T15:27:58Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Eric,\n\nOn Fri, 13 Jan 2017, Eric Wong wrote:\n\n> Pat Pannuto <pat.pannuto@gmail.com> wrote:\n> > You may still want the 1/2 patch in this series, just to make things\n> > internally consistent with \"-w\" vs \"use warnings;\" inside git's perl\n> > scripts.\n> \n> No, that is a step back.  \"-w\" affects the entire process, so it\n> spots more potential problems.\n\nI guess I do not understand, still, what the difference is between using\n-w and adding `use warnings` *very early* in the script... Could you give\nan example where it makes a difference?\n\nCiao,\nDscho\n"},{"id":"309364","messageId":"20170113165819.GA6069@starla","threadId":"44858","inReplyTo":"alpine.DEB.2.20.1701131626160.3469@virtualbox","subject":"Re: [PATCH 2/2] Use 'env' to find perl instead of fixed path","fromName":"Eric Wong","fromEmail":"e@80x24.org","sentAt":"2017-01-13T16:58:19Z","receivedAt":"2017-01-13T16:59:05Z","isPatch":true,"sender":{"key":"e@80x24.org","avatar":null},"body":"Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:\n> I guess I do not understand, still, what the difference is between using\n> -w and adding `use warnings` *very early* in the script... Could you give\n> an example where it makes a difference?\n\n\"use warnings\" won't leak across files/modules.  In the following\nexample, only the \"useless use of join or string in void context\"\nfrom void.perl gets shown w/o -w.  The VoidExample.pm warning\ncan get lost.\n\n----- VoidExample.pm ------\npackage VoidExample;\nuse strict;\n# use warnings; # uncomment to trigger warning on next line:\njoin('', qw(a b c));\n\n1;\n------ void.perl ------\n#!/usr/bin/perl\nuse strict;\nuse warnings;\nuse VoidExample;\n\njoin('', qw(a b c)); # warns\n----------8<----------\n\n$ perl -I . void.perl    # 1 warning\n$ perl -w -I . void.perl # 2 warnings\n"},{"id":"309365","messageId":"alpine.DEB.2.20.1701131813190.3469@virtualbox","threadId":"44858","inReplyTo":"20170113165819.GA6069@starla","subject":"Re: [PATCH 2/2] Use 'env' to find perl instead of fixed path","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2017-01-13T17:13:32Z","receivedAt":"2017-01-13T17:20:27Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Eric,\n\nOn Fri, 13 Jan 2017, Eric Wong wrote:\n\n> Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:\n> > I guess I do not understand, still, what the difference is between using\n> > -w and adding `use warnings` *very early* in the script... Could you give\n> > an example where it makes a difference?\n> \n> \"use warnings\" won't leak across files/modules.  In the following\n> example, only the \"useless use of join or string in void context\"\n> from void.perl gets shown w/o -w.  The VoidExample.pm warning\n> can get lost.\n\nOkay, thanks!\nDscho\n"},{"id":"309378","messageId":"xmqq4m12izmd.fsf@gitster.mtv.corp.google.com","threadId":"44858","inReplyTo":"20170113024842.GA20572@starla","subject":"Re: [PATCH 2/2] Use 'env' to find perl instead of fixed path","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2017-01-13T18:27:54Z","receivedAt":"2017-01-13T18:28:02Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Eric Wong <e@80x24.org> writes:\n\n> Pat Pannuto <pat.pannuto@gmail.com> wrote:\n>> You may still want the 1/2 patch in this series, just to make things\n>> internally consistent with \"-w\" vs \"use warnings;\" inside git's perl\n>> scripts.\n>\n> No, that is a step back.  \"-w\" affects the entire process, so it\n> spots more potential problems.  The \"warnings\" pragma is scoped\n> to the enclosing block, so it won't span across files.\n\nOK, so with \"-w\", we do not have to write \"use warnings\" in each of\nour files to get them checked.  It is handy when we ship our own\nlibs (e.g. Git.pm) that are used by our programs.\n\nIf something we write outselves trigger a false-positive, we can\nwork it around with \"no warnings;\" in the smallest block that\nencloses the offending code in the worst case, or just rephrase it\nin a way that won't trigger a false-positive.\n\nIf something we _use_ from a third-party is not warnings-clean,\nthere is no easy way to squelch them if we use \"-w\", which is a\npotential downside, isn't it?  I do not know how serious a problem\nit is in practice.  I suspect that the core package we use from perl\ndistribution are supposed to be warnings-clean, but we use a handful\nof things from outside the core and I do not know what state they\nare in.\n"},{"id":"309385","messageId":"20170113185246.GA17441@starla","threadId":"44858","inReplyTo":"xmqq4m12izmd.fsf@gitster.mtv.corp.google.com","subject":"Re: [PATCH 2/2] Use 'env' to find perl instead of fixed path","fromName":"Eric Wong","fromEmail":"e@80x24.org","sentAt":"2017-01-13T18:52:46Z","receivedAt":"2017-01-13T18:52:53Z","isPatch":true,"sender":{"key":"e@80x24.org","avatar":null},"body":"Junio C Hamano <gitster@pobox.com> wrote:\n> Eric Wong <e@80x24.org> writes:\n> > Pat Pannuto <pat.pannuto@gmail.com> wrote:\n> >> You may still want the 1/2 patch in this series, just to make things\n> >> internally consistent with \"-w\" vs \"use warnings;\" inside git's perl\n> >> scripts.\n> >\n> > No, that is a step back.  \"-w\" affects the entire process, so it\n> > spots more potential problems.  The \"warnings\" pragma is scoped\n> > to the enclosing block, so it won't span across files.\n> \n> OK, so with \"-w\", we do not have to write \"use warnings\" in each of\n> our files to get them checked.  It is handy when we ship our own\n> libs (e.g. Git.pm) that are used by our programs.\n\nYes.  \"use warnings\" should be in our own libs in case other\npeople run without \"-w\"\n\n> If something we write outselves trigger a false-positive, we can\n> work it around with \"no warnings;\" in the smallest block that\n> encloses the offending code in the worst case, or just rephrase it\n> in a way that won't trigger a false-positive.\n\nCorrect.\n\n> If something we _use_ from a third-party is not warnings-clean,\n> there is no easy way to squelch them if we use \"-w\", which is a\n> potential downside, isn't it?  I do not know how serious a problem\n> it is in practice.  I suspect that the core package we use from perl\n> distribution are supposed to be warnings-clean, but we use a handful\n> of things from outside the core and I do not know what state they\n> are in.\n\nYes, \"-w\" will trigger warnings in third party packages.\nExisting uses we have should be fine, and I think most Perl\nmodules we use or would use are vigilant about being\nwarnings-clean.  If we have to leave off a \"-w\", there should\nprobably be a comment at the top stating the reason:\n\n#!/usr/bin/perl\n# Not using \"perl -w\" since Foo::Bar <= X.Y.Y is not warnings-clean\nuse strict;\nuse warnings;\nuse Foo::Bar;\n...\n"},{"id":"309392","messageId":"xmqq37gmhgpn.fsf@gitster.mtv.corp.google.com","threadId":"44858","inReplyTo":"20170113185246.GA17441@starla","subject":"Re: [PATCH 2/2] Use 'env' to find perl instead of fixed path","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2017-01-13T20:01:40Z","receivedAt":"2017-01-13T20:07:19Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Eric Wong <e@80x24.org> writes:\n\n> Junio C Hamano <gitster@pobox.com> wrote:\n>> Eric Wong <e@80x24.org> writes:\n>> > Pat Pannuto <pat.pannuto@gmail.com> wrote:\n>> >> You may still want the 1/2 patch in this series, just to make things\n>> >> internally consistent with \"-w\" vs \"use warnings;\" inside git's perl\n>> >> scripts.\n>> >\n>> > No, that is a step back.  \"-w\" affects the entire process, so it\n>> > spots more potential problems.  The \"warnings\" pragma is scoped\n>> > to the enclosing block, so it won't span across files.\n>> \n>> OK, so with \"-w\", we do not have to write \"use warnings\" in each of\n>> our files to get them checked.  It is handy when we ship our own\n>> libs (e.g. Git.pm) that are used by our programs.\n>\n> Yes.  \"use warnings\" should be in our own libs in case other\n> people run without \"-w\"\n\nWould it mean that we need both anyway?  That is, add missing \"use\nwarnings\" without removing \"-w\" from she-bang line?\n\n> Yes, \"-w\" will trigger warnings in third party packages.\n> Existing uses we have should be fine, and I think most Perl\n> modules we use or would use are vigilant about being\n> warnings-clean.  If we have to leave off a \"-w\", there should\n> probably be a comment at the top stating the reason:\n>\n> #!/usr/bin/perl\n> # Not using \"perl -w\" since Foo::Bar <= X.Y.Y is not warnings-clean\n> use strict;\n> use warnings;\n> use Foo::Bar;\n> ...\n\nGood.\n\nSpeaking of Perl, I recall that somebody complained that we ship\nwith and do use a stale copy of Error.pm that has been deprecated.\nI am not asking you to do so, but we may want to see somebody look\ninto it (i.e. assessing the current situation, and if it indeed is\ndesirable for us to wean ourselves away from Error.pm, update our\ncodepaths that use it).\n\nThanks.\n"},{"id":"309400","messageId":"20170113213900.GA25890@starla","threadId":"44858","inReplyTo":"xmqq37gmhgpn.fsf@gitster.mtv.corp.google.com","subject":"Re: [PATCH 2/2] Use 'env' to find perl instead of fixed path","fromName":"Eric Wong","fromEmail":"e@80x24.org","sentAt":"2017-01-13T21:39:00Z","receivedAt":"2017-01-13T21:39:05Z","isPatch":true,"sender":{"key":"e@80x24.org","avatar":null},"body":"Junio C Hamano <gitster@pobox.com> wrote:\n> Eric Wong <e@80x24.org> writes:\n> > Junio C Hamano <gitster@pobox.com> wrote:\n> >> Eric Wong <e@80x24.org> writes:\n> >> > Pat Pannuto <pat.pannuto@gmail.com> wrote:\n> >> >> You may still want the 1/2 patch in this series, just to make things\n> >> >> internally consistent with \"-w\" vs \"use warnings;\" inside git's perl\n> >> >> scripts.\n> >> >\n> >> > No, that is a step back.  \"-w\" affects the entire process, so it\n> >> > spots more potential problems.  The \"warnings\" pragma is scoped\n> >> > to the enclosing block, so it won't span across files.\n> >> \n> >> OK, so with \"-w\", we do not have to write \"use warnings\" in each of\n> >> our files to get them checked.  It is handy when we ship our own\n> >> libs (e.g. Git.pm) that are used by our programs.\n> >\n> > Yes.  \"use warnings\" should be in our own libs in case other\n> > people run without \"-w\"\n> \n> Would it mean that we need both anyway?  That is, add missing \"use\n> warnings\" without removing \"-w\" from she-bang line?\n\nYes, we keep \"use warnings\" other people may use, at least.\nNo harm in keeping that in top-level scripts, I guess.\n\n> Speaking of Perl, I recall that somebody complained that we ship\n> with and do use a stale copy of Error.pm that has been deprecated.\n> I am not asking you to do so, but we may want to see somebody look\n> into it (i.e. assessing the current situation, and if it indeed is\n> desirable for us to wean ourselves away from Error.pm, update our\n> codepaths that use it).\n\nAgreed, I'd definitely prefer to move towards the basic eval/die\nconstruct without relying on a bundled 3rd-party mechanism.\nBut we might need a migration path for out-of-tree users of\nGit.pm (if any)...\n\nI'm sure I've agreed this was a path we should be taking in the\npast, but did something about it myself.  So yeah, maybe Pat or\nsomebody else interested can take care of this :)\n\nThanks.\n"},{"id":"309410","messageId":"20170114075408.hyidkb4rzxzmm2je@sigill.intra.peff.net","threadId":"44858","inReplyTo":"20170113185246.GA17441@starla","subject":"Re: [PATCH 2/2] Use 'env' to find perl instead of fixed path","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2017-01-14T07:54:09Z","receivedAt":"2017-01-14T07:54:17Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Fri, Jan 13, 2017 at 06:52:46PM +0000, Eric Wong wrote:\n\n> > If something we _use_ from a third-party is not warnings-clean,\n> > there is no easy way to squelch them if we use \"-w\", which is a\n> > potential downside, isn't it?  I do not know how serious a problem\n> > it is in practice.  I suspect that the core package we use from perl\n> > distribution are supposed to be warnings-clean, but we use a handful\n> > of things from outside the core and I do not know what state they\n> > are in.\n> \n> Yes, \"-w\" will trigger warnings in third party packages.\n> Existing uses we have should be fine, and I think most Perl\n> modules we use or would use are vigilant about being\n> warnings-clean.  If we have to leave off a \"-w\", there should\n> probably be a comment at the top stating the reason:\n> \n> #!/usr/bin/perl\n> # Not using \"perl -w\" since Foo::Bar <= X.Y.Y is not warnings-clean\n> use strict;\n> use warnings;\n> use Foo::Bar;\n> ...\n\nJust as a devil's advocate, why do we care about warnings in third-party\nmodules? Or more specifically, why do _users_ who are running Git care\nabout them? We cannot fix them in Git. A user may report the error to\nthe module author, but the module author may not be responsive, or even\nmay not be inclined to fix the problem (because they have a particular\nopinion on that warning).\n\nIn the meantime, the user is stuck with an annoying warning message\nuntil Git is updated as you showed above. Why not just start there\npreemptively, and let module authors worry about their own warnings?\n\n-Peff\n"},{"id":"309415","messageId":"20170114103134.GA586@untitled","threadId":"44858","inReplyTo":"20170114075408.hyidkb4rzxzmm2je@sigill.intra.peff.net","subject":"Re: [PATCH 2/2] Use 'env' to find perl instead of fixed path","fromName":"Eric Wong","fromEmail":"e@80x24.org","sentAt":"2017-01-14T10:31:34Z","receivedAt":"2017-01-14T10:31:42Z","isPatch":true,"sender":{"key":"e@80x24.org","avatar":null},"body":"Jeff King <peff@peff.net> wrote:\n> Just as a devil's advocate, why do we care about warnings in third-party\n> modules? Or more specifically, why do _users_ who are running Git care\n> about them? We cannot fix them in Git. A user may report the error to\n> the module author, but the module author may not be responsive, or even\n> may not be inclined to fix the problem (because they have a particular\n> opinion on that warning).\n\nEvery user is a potential developer(*).  And I do feel\nwe (git developers) should be at least somewhat responsible\nfor helping maintain and fix the projects we depend on;\nor moving to alternatives if we can't fix them.\n\nThere is a chance a newly-introduced warning in a 3rd-party\nmodule points to a real problem with the way git uses it, too.\nHaving that warning would help us fix or workaround the bug\n(either in git or the module).\n\nI doubt any module author would be unresponsive to having a\nlocalized \"no warnings\" for special cases.  AFAIK, \"-w\" is\nwidespread amongst Perl users (unlike Ruby in my experience).\n\n\n(*) I feel that more strongly in the git case, and even more so\n    for the Perl bits since the source is already on the user's\n    machine.\n\n> In the meantime, the user is stuck with an annoying warning message\n> until Git is updated as you showed above. Why not just start there\n> preemptively, and let module authors worry about their own warnings?\n\nI'm not saying we blindly start using '-w' everywhere today.\nBut we may at least try it and see if it introduces new\nwarnings, first, and only enable '-w' when it it looks quiet\n(and perhaps start working with module authors to fix warnings\n if not).\n\nAs a user, I'd rather have some indication of where something\nmight be wrong, than no warning at all when something does go\nwrong.\n"},{"id":"309427","messageId":"20170114215743.5igbjup6qpsh3jfg@genre.crustytoothpaste.net","threadId":"44858","inReplyTo":"20170114103134.GA586@untitled","subject":"Re: [PATCH 2/2] Use 'env' to find perl instead of fixed path","fromName":"brian m. carlson","fromEmail":"sandals@crustytoothpaste.net","sentAt":"2017-01-14T21:57:43Z","receivedAt":"2017-01-14T21:57:58Z","isPatch":true,"sender":{"key":"sandals@crustytoothpaste.net","avatar":"https://avatars.githubusercontent.com/u/497054?v=4"},"body":""}]}