Skip to content

War on #! lines in shell libraries

Jonathan Nieder git 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest9 patches 2 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/9mark Windows build scripts executablecompat/vcbuild/scripts/clink.pl compat/vcbuild/scripts/lib.pl contrib/buildsystems/engine.pl +2 more+0 -00 replies
2/9mark perl test scripts executablet/Git-SVN/00compile.t t/Git-SVN/Utils/add_path_to_url.t t/Git-SVN/Utils/can_compress.t +7 more+0 -00 replies
3/9mark contributed hooks executablecontrib/hooks/post-receive-email contrib/hooks/pre-auto-gc-battery contrib/hooks/setgitperms.perl +1 more+0 -20 replies
4/9contrib: remove git-p4importcontrib/p4import/README contrib/p4import/git-p4import.py contrib/p4import/git-p4import.txt+0 -5331 reply
5/9gitk: chmod +x po2msgpo/po2msg.sh+0 -00 replies
6/9git-gui: chmod +x po2msg, windows/git-gui.shpo/po2msg.sh windows/git-gui.sh+0 -00 replies
7/9test: make FILEMODE a lazy prereqt/lib-prereq-FILEMODE.sh t/t3701-add-interactive.sh t/t4102-apply-rename.sh +5 more+4 -170 replies
8/9test: replace shebangs with descriptions in shell librariest/gitweb-lib.sh t/lib-bash.sh t/lib-cvs.sh +12 more+64 -202 replies
9/9remove #!interpreter line from shell librariescontrib/completion/git-completion.bash contrib/completion/git-completion.tcsh git-mergetool--lib.sh +7 more+19 -280 replies

Reviews trailers per patch

1 of 9 patches has a Reviewed-by or Acked-by.

PatchPete Wyckoff
1/9
2/9
3/9
4/9A-b
5/9
6/9
7/9
8/9
9/9

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 0/9] War on #! lines in shell libraries

Hi,

This is an old series that I just wanted to flush out of my working directory. It does two things:

On one hand, it replaces the line

	#!/bin/sh

at the start of shell libraries with a simple comment

# Shell library for <etc, explaining how it is used>

to avoid confusing readers into thinking the shell library is going to be run directly with /bin/sh. And on the other hand, it sets the executable bit on actual scripts that are run directly with /bin/sh. (Likewise for some perl scripts, too.)

The heart of the series has been well tested in the context of Debian git for a couple of years. Thanks to list denizens for the improvements last time I brought it up[1]. Hopefully this version is more sensible.

Anyway, hopefully it can provide some amusement.

Thanks,
Jonathan Nieder (9):
mark Windows build scripts executable
mark perl test scripts executable
mark contributed hooks executable
contrib: remove git-p4import
gitk: chmod +x po2msg
git-gui: chmod +x po2msg, windows/git-gui.sh
test: make FILEMODE a lazy prereq
test: replace shebangs with descriptions in shell libraries remove #!interpreter line from shell libraries

[1] http://thread.gmane.org/gmane.comp.version-control.git/192582

 compat/vcbuild/scripts/clink.pl        |   0
 compat/vcbuild/scripts/lib.pl          |   0
 contrib/buildsystems/engine.pl         |   0
 contrib/buildsystems/generate          |   0
 contrib/buildsystems/parse.pl          |   0
 contrib/completion/git-completion.bash |   2 -
 contrib/completion/git-completion.tcsh |   2 -
 contrib/hooks/post-receive-email       |   1 -
 contrib/hooks/pre-auto-gc-battery      |   1 -
 contrib/hooks/setgitperms.perl         |   0
 contrib/hooks/update-paranoid          |   0
 contrib/p4import/README                |   1 -
 contrib/p4import/git-p4import.py       | 365 ---------------------------------
 contrib/p4import/git-p4import.txt      | 167 ---------------
 git-gui/po/po2msg.sh                   |   0
 git-gui/windows/git-gui.sh             |   0
 git-mergetool--lib.sh                  |   3 +-
 git-parse-remote.sh                    |   4 +-
 git-rebase--am.sh                      |   3 +-
 git-rebase--interactive.sh             |   9 +-
 git-rebase--merge.sh                   |   4 +-
 git-sh-i18n.sh                         |   5 +-
 git-sh-setup.sh                        |   9 +-
 gitk-git/po/po2msg.sh                  |   0
 t/Git-SVN/00compile.t                  |   0
 t/Git-SVN/Utils/add_path_to_url.t      |   0
 t/Git-SVN/Utils/can_compress.t         |   0
 t/Git-SVN/Utils/canonicalize_url.t     |   0
 t/Git-SVN/Utils/collapse_dotdot.t      |   0
 t/Git-SVN/Utils/fatal.t                |   0
 t/Git-SVN/Utils/join_paths.t           |   0
 t/gitweb-lib.sh                        |   3 +-
 t/lib-bash.sh                          |   7 +-
 t/lib-cvs.sh                           |   2 +-
 t/lib-diff-alternative.sh              |   3 +-
 t/lib-gettext.sh                       |   3 +-
 t/lib-git-daemon.sh                    |  18 +-
 t/lib-httpd.sh                         |  29 ++-
 t/lib-pack.sh                          |   2 -
 t/lib-pager.sh                         |   2 +-
 t/lib-prereq-FILEMODE.sh               |  11 -
 t/lib-read-tree.sh                     |   2 -
 t/lib-rebase.sh                        |   2 +-
 t/lib-terminal.sh                      |   2 +-
 t/perf/perf-lib.sh                     |   4 +-
 t/t0202/test.pl                        |   0
 t/t3701-add-interactive.sh             |   1 -
 t/t4102-apply-rename.sh                |   1 -
 t/t4120-apply-popt.sh                  |   1 -
 t/t4129-apply-samemode.sh              |   1 -
 t/t6031-merge-recursive.sh             |   1 -
 t/t9150/make-svk-dump                  |   0
 t/t9151/make-svnmerge-dump             |   0
 t/t9200-git-cvsexportcommit.sh         |   1 -
 t/test-lib-functions.sh                |   3 +-
 t/test-lib.sh                          |  12 +-
 56 files changed, 87 insertions(+), 600 deletions(-)
 mode change 100644 => 100755 compat/vcbuild/scripts/clink.pl
 mode change 100644 => 100755 compat/vcbuild/scripts/lib.pl
 mode change 100644 => 100755 contrib/buildsystems/engine.pl
 mode change 100644 => 100755 contrib/buildsystems/generate
 mode change 100644 => 100755 contrib/buildsystems/parse.pl
 mode change 100644 => 100755 contrib/hooks/pre-auto-gc-battery
 mode change 100644 => 100755 contrib/hooks/setgitperms.perl
 mode change 100644 => 100755 contrib/hooks/update-paranoid
 delete mode 100644 contrib/p4import/README
 delete mode 100644 contrib/p4import/git-p4import.py
 delete mode 100644 contrib/p4import/git-p4import.txt
 mode change 100644 => 100755 git-gui/po/po2msg.sh
 mode change 100644 => 100755 git-gui/windows/git-gui.sh
 mode change 100644 => 100755 gitk-git/po/po2msg.sh
 mode change 100644 => 100755 t/Git-SVN/00compile.t
 mode change 100644 => 100755 t/Git-SVN/Utils/add_path_to_url.t
 mode change 100644 => 100755 t/Git-SVN/Utils/can_compress.t
 mode change 100644 => 100755 t/Git-SVN/Utils/canonicalize_url.t
 mode change 100644 => 100755 t/Git-SVN/Utils/collapse_dotdot.t
 mode change 100644 => 100755 t/Git-SVN/Utils/fatal.t
 mode change 100644 => 100755 t/Git-SVN/Utils/join_paths.t
 delete mode 100644 t/lib-prereq-FILEMODE.sh
 mode change 100644 => 100755 t/t0202/test.pl
 mode change 100644 => 100755 t/t9150/make-svk-dump
 mode change 100644 => 100755 t/t9151/make-svnmerge-dump
Signature · 1 line
1.8.4.1