Change the Perl Git utilities to use #!/usr/bin/env perl as a shebang instead of #!/usr/bin/perl. In cases where perl -w was part of the shebang I've replaced it with BEGIN { $^W = 0 }. use warnings would be better, but this doesn't break systems still running perl 5.005. This only affects shebangs in the uninstalled source tree. On installation shebangs will still be munged to PERL_PATH, which is currently /usr/bin/perl by default. With this change all the code in Git that uses a shebang now uses /usr/bin/env, except those things that use /bin/sh and /bin/bash. All the Python code already used it, and some of the Perl code. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> --- Replaces /usr/bin/env perl -w with just perl + BEGIN { $^W = 1 } which has the same effect as -w. I.e. turns on warnings globally. Documentation/build-docdep.perl | 2 +- Documentation/cat-texi.perl | 2 +- Documentation/cmd-list.perl | 4 ++-- Documentation/fix-texi.perl | 3 ++- compat/vcbuild/scripts/clink.pl | 3 ++- compat/vcbuild/scripts/lib.pl | 3 ++- contrib/blameview/blameview.perl | 2 +- contrib/buildsystems/engine.pl | 3 ++- contrib/buildsystems/generate | 3 ++- contrib/buildsystems/parse.pl | 3 ++- contrib/continuous/cidaemon | 2 +- contrib/continuous/post-receive-cinotify | 2 +- contrib/examples/git-remote.perl | 2 +- contrib/examples/git-rerere.perl | 2 +- contrib/examples/git-svnimport.perl | 2 +- contrib/fast-import/git-import.perl | 2 +- contrib/fast-import/import-directories.perl | 2 +- contrib/fast-import/import-tars.perl | 2 +- contrib/hooks/setgitperms.perl | 2 +- contrib/hooks/update-paranoid | 2 +- contrib/stats/mailmap.pl | 3 +-- contrib/stats/packinfo.pl | 2 +- git-add--interactive.perl | 2 +- git-archimport.perl | 2 +- git-cvsexportcommit.perl | 4 ++-- git-cvsimport.perl | 2 +- git-cvsserver.perl | 2 +- git-send-email.perl | 2 +- gitweb/gitweb.perl | 2 +- t/gitweb-lib.sh | 2 +- t/t7006/test-terminal.perl | 2 +- t/t9138-git-svn-authors-prog.sh | 2 +- t/t9700/test.pl | 2 +- 33 files changed, 41 insertions(+), 36 deletions(-) diff --git a/Documentation/build-docdep.perl b/Documentation/build-docdep.perl index ba4205e..dc50f21 100755 --- a/Documentation/build-docdep.perl +++ b/Documentation/build-docdep.perl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl my %include = (); my %included = (); diff --git a/Documentation/cat-texi.perl b/Documentation/cat-texi.perl index 082978f..3b4fb2d 100755 --- a/Documentation/cat-texi.perl +++ b/Documentation/cat-texi.perl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl use warnings; my @menu = (); diff --git a/Documentation/cmd-list.perl b/Documentation/cmd-list.perl index 07d526e..dfb9014 100755 --- a/Documentation/cmd-list.perl +++ b/Documentation/cmd-list.perl @@ -1,5 +1,5 @@ -#!/usr/bin/perl -use warnings; +#!/usr/bin/env perl -w + use File::Compare qw(compare); sub format_one { diff --git a/Documentation/fix-texi.perl b/Documentation/fix-texi.perl index ff7d78f..bd5b6dd 100755 --- a/Documentation/fix-texi.perl +++ b/Documentation/fix-texi.perl @@ -1,4 +1,5 @@ -#!/usr/bin/perl -w +#!/usr/bin/env perl +BEGIN { $^W = 1 } while (<>) { if (/^\@setfilename/) { diff --git a/compat/vcbuild/scripts/clink.pl b/compat/vcbuild/scripts/clink.pl index 4374771..748e659 100644 --- a/compat/vcbuild/scripts/clink.pl +++ b/compat/vcbuild/scripts/clink.pl @@ -1,4 +1,5 @@ -#!/usr/bin/perl -w +#!/usr/bin/env perl +BEGIN { $^W = 1 } ###################################################################### # Compiles or links files # diff --git a/compat/vcbuild/scripts/lib.pl b/compat/vcbuild/scripts/lib.pl index d8054e4..86b8977 100644 --- a/compat/vcbuild/scripts/lib.pl +++ b/compat/vcbuild/scripts/lib.pl @@ -1,4 +1,5 @@ -#!/usr/bin/perl -w +#!/usr/bin/env perl +BEGIN { $^W = 1 } ###################################################################### # Libifies files on Windows # diff --git a/contrib/blameview/blameview.perl b/contrib/blameview/blameview.perl index 1dec001..438b737 100755 --- a/contrib/blameview/blameview.perl +++ b/contrib/blameview/blameview.perl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl use Gtk2 -init; use Gtk2::SimpleList; diff --git a/contrib/buildsystems/engine.pl b/contrib/buildsystems/engine.pl index 23da787..ad4b82c 100644 --- a/contrib/buildsystems/engine.pl +++ b/contrib/buildsystems/engine.pl @@ -1,4 +1,5 @@ -#!/usr/bin/perl -w +#!/usr/bin/env perl +BEGIN { $^W = 1 } ###################################################################### # Do not call this script directly! # diff --git a/contrib/buildsystems/generate b/contrib/buildsystems/generate index bc10f25..e3a352f 100644 --- a/contrib/buildsystems/generate +++ b/contrib/buildsystems/generate @@ -1,4 +1,5 @@ -#!/usr/bin/perl -w +#!/usr/bin/env perl +BEGIN { $^W = 1 } ###################################################################### # Generate buildsystem files # diff --git a/contrib/buildsystems/parse.pl b/contrib/buildsystems/parse.pl index c9656ec..4f932a9 100644 --- a/contrib/buildsystems/parse.pl +++ b/contrib/buildsystems/parse.pl @@ -1,4 +1,5 @@ -#!/usr/bin/perl -w +#!/usr/bin/env perl +BEGIN { $^W = 1 } ###################################################################### # Do not call this script directly! # diff --git a/contrib/continuous/cidaemon b/contrib/continuous/cidaemon index 4009a15..9f10ce5 100644 --- a/contrib/continuous/cidaemon +++ b/contrib/continuous/cidaemon @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # # A daemon that waits for update events sent by its companion # post-receive-cinotify hook, checks out a new copy of source, diff --git a/contrib/continuous/post-receive-cinotify b/contrib/continuous/post-receive-cinotify index b8f5a60..aeef222 100644 --- a/contrib/continuous/post-receive-cinotify +++ b/contrib/continuous/post-receive-cinotify @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # # A hook that notifies its companion cidaemon through a simple # queue file that a ref has been updated via a push (actually diff --git a/contrib/examples/git-remote.perl b/contrib/examples/git-remote.perl index 48ab0ef..ee050a6 100755 --- a/contrib/examples/git-remote.perl +++ b/contrib/examples/git-remote.perl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl -w use strict; use warnings; diff --git a/contrib/examples/git-rerere.perl b/contrib/examples/git-rerere.perl index 4f69209..110c27f 100755 --- a/contrib/examples/git-rerere.perl +++ b/contrib/examples/git-rerere.perl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # # REuse REcorded REsolve. This tool records a conflicted automerge # result and its hand resolution, and helps to resolve future diff --git a/contrib/examples/git-svnimport.perl b/contrib/examples/git-svnimport.perl index ead4c04..c4ded33 100755 --- a/contrib/examples/git-svnimport.perl +++ b/contrib/examples/git-svnimport.perl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # This tool is copyright (c) 2005, Matthias Urlichs. # It is released under the Gnu Public License, version 2. diff --git a/contrib/fast-import/git-import.perl b/contrib/fast-import/git-import.perl index f9fef6d..275c3b9 100755 --- a/contrib/fast-import/git-import.perl +++ b/contrib/fast-import/git-import.perl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # # Performs an initial import of a directory. This is the equivalent # of doing 'git init; git add .; git commit'. It's a little slower, diff --git a/contrib/fast-import/import-directories.perl b/contrib/fast-import/import-directories.perl index 7f3afa5..a02daa8 100755 --- a/contrib/fast-import/import-directories.perl +++ b/contrib/fast-import/import-directories.perl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # # Copyright 2008-2009 Peter Krefting <peter@xxxxxxxxxxxxxxxx> # diff --git a/contrib/fast-import/import-tars.perl b/contrib/fast-import/import-tars.perl index 95438e1..1b667e3 100755 --- a/contrib/fast-import/import-tars.perl +++ b/contrib/fast-import/import-tars.perl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl ## tar archive frontend for git-fast-import ## diff --git a/contrib/hooks/setgitperms.perl b/contrib/hooks/setgitperms.perl index a577ad0..b33f094 100644 --- a/contrib/hooks/setgitperms.perl +++ b/contrib/hooks/setgitperms.perl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # # Copyright (c) 2006 Josh England # diff --git a/contrib/hooks/update-paranoid b/contrib/hooks/update-paranoid index d18b317..95595ac 100644 --- a/contrib/hooks/update-paranoid +++ b/contrib/hooks/update-paranoid @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl use strict; use File::Spec; diff --git a/contrib/stats/mailmap.pl b/contrib/stats/mailmap.pl index ff296fa..af92759 100755 --- a/contrib/stats/mailmap.pl +++ b/contrib/stats/mailmap.pl @@ -1,5 +1,4 @@ -#!/usr/bin/perl -use warnings; +#!/usr/bin/env perl -w my %mailmap = (); open I, "<", ".mailmap"; while (<I>) { diff --git a/contrib/stats/packinfo.pl b/contrib/stats/packinfo.pl index be188c0..51823ac 100755 --- a/contrib/stats/packinfo.pl +++ b/contrib/stats/packinfo.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # # This tool will print vaguely pretty information about a pack. It # expects the output of "git verify-pack -v" as input on stdin. diff --git a/git-add--interactive.perl b/git-add--interactive.perl index c2e7ab4..0826aab 100755 --- a/git-add--interactive.perl +++ b/git-add--interactive.perl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl use strict; use warnings; diff --git a/git-archimport.perl b/git-archimport.perl index 6ee3fca..a5e79fd 100755 --- a/git-archimport.perl +++ b/git-archimport.perl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # # This tool is copyright (c) 2005, Martin Langhoff. # It is released under the Gnu Public License, version 2. diff --git a/git-cvsexportcommit.perl b/git-cvsexportcommit.perl index 59b6722..a707f5c 100755 --- a/git-cvsexportcommit.perl +++ b/git-cvsexportcommit.perl @@ -1,5 +1,5 @@ -#!/usr/bin/perl -w - +#!/usr/bin/env perl +BEGIN { $^W = 1 } use strict; use Getopt::Std; use File::Temp qw(tempdir); diff --git a/git-cvsimport.perl b/git-cvsimport.perl index d5e5677..5470c81 100755 --- a/git-cvsimport.perl +++ b/git-cvsimport.perl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl -w # This tool is copyright (c) 2005, Matthias Urlichs. # It is released under the Gnu Public License, version 2. diff --git a/git-cvsserver.perl b/git-cvsserver.perl index 13751db..dc1c5dd 100755 --- a/git-cvsserver.perl +++ b/git-cvsserver.perl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl #### #### This application is a CVS emulation layer for git. diff --git a/git-send-email.perl b/git-send-email.perl index bbb03f7..27bdca5 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # # Copyright 2002,2005 Greg Kroah-Hartman <greg@xxxxxxxxx> # Copyright 2005 Ryan Anderson <ryan@xxxxxxxxxxxxxx> diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index 77e5f79..dbb0cc0 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # gitweb - simple web interface to track changes in git repositories # diff --git a/t/gitweb-lib.sh b/t/gitweb-lib.sh index 5a734b1..9572c6a 100644 --- a/t/gitweb-lib.sh +++ b/t/gitweb-lib.sh @@ -6,7 +6,7 @@ gitweb_init () { safe_pwd="$(perl -MPOSIX=getcwd -e 'print quotemeta(getcwd)')" cat >gitweb_config.perl <<EOF -#!/usr/bin/perl +#!/usr/bin/env perl # gitweb configuration for tests diff --git a/t/t7006/test-terminal.perl b/t/t7006/test-terminal.perl index 73ff809..840bab7 100755 --- a/t/t7006/test-terminal.perl +++ b/t/t7006/test-terminal.perl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl use strict; use warnings; use IO::Pty; diff --git a/t/t9138-git-svn-authors-prog.sh b/t/t9138-git-svn-authors-prog.sh index 83cc5fc..ac1dcd7 100755 --- a/t/t9138-git-svn-authors-prog.sh +++ b/t/t9138-git-svn-authors-prog.sh @@ -8,7 +8,7 @@ test_description='git svn authors prog tests' . ./lib-git-svn.sh cat > svn-authors-prog <<'EOF' -#!/usr/bin/perl +#!/usr/bin/env perl $_ = shift; if (s/-sub$//) { print "$_ <$_\@sub.example.com>\n"; diff --git a/t/t9700/test.pl b/t/t9700/test.pl index 666722d..abfc9ba 100755 --- a/t/t9700/test.pl +++ b/t/t9700/test.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl use lib (split(/:/, $ENV{GITPERLLIB})); use 5.006002; -- 1.7.1.98.g4a5f -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html