threads / patch / 33878

patchcontrib/git-subtree: Use /bin/sh interpreter instead of /bin/bash

Subject: [PATCH] contrib/git-subtree: Use /bin/sh interpreter instead of /bin/bash

## tl;dr

3 messages between May 20, 2013 and May 21, 2013. Diffs are folded; open one to read it.

replies: 2people: 3as markdown or json

Dmitry Marakasov· May 20, 2013, 20:24 UTC · lore

Use /bin/sh interpreter instead of /bin/bash for contrib/git-subtree: it's required for systems which don't use bash by default (for example, FreeBSD), while there seem to be no bashisms in the script (confirmed by looking through the source and tesing subtree functionality with FreeBSD's /bin/sh) to require specifically bash and not the generic posix shell.

Signed-off-by: Dmitry Marakasov <amdmi3@amdmi3.ru>
---
 contrib/subtree/git-subtree.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Show changes to contrib/subtree/git-subtree.sh +1 −1
diff --git a/contrib/subtree/git-subtree.sh b/contrib/subtree/git-subtree.sh
index 8a23f58..5701376 100755
--- a/contrib/subtree/git-subtree.sh
+++ b/contrib/subtree/git-subtree.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
 #
 # git-subtree.sh: split/join git repositories in subdirectories of this one
 #
-- 
1.8.2.3
Junio C Hamano· May 20, 2013, 22:36 UTC · re: Dmitry Marakasov · lore

Re: [PATCH] contrib/git-subtree: Use /bin/sh interpreter instead of /bin/bash

Dmitry Marakasov <amdmi3@amdmi3.ru> writes:
Show 6 quoted lines
> Use /bin/sh interpreter instead of /bin/bash for contrib/git-subtree:
> it's required for systems which don't use bash by default (for example,
> FreeBSD), while there seem to be no bashisms in the script (confirmed
> by looking through the source and tesing subtree functionality with
> FreeBSD's /bin/sh) to require specifically bash and not the generic
> posix shell.

Has anybody audited to make sure that the script itself is free of bash-isms?

I somehow had an impression that in the past it was littered with bash-isms like function local variables and array variables and assumed that the #!/bin/bash was necessary. I did a quick eyeballing and did not see anything glaringly bash-only, but I may have missed something (the coding style is so different from the core part of Git Porcelains and distracting for me to efficiently do a good job of scanning).

Show 16 quoted lines
>
> Signed-off-by: Dmitry Marakasov <amdmi3@amdmi3.ru>
> ---
>  contrib/subtree/git-subtree.sh | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/contrib/subtree/git-subtree.sh b/contrib/subtree/git-subtree.sh
> index 8a23f58..5701376 100755
> --- a/contrib/subtree/git-subtree.sh
> +++ b/contrib/subtree/git-subtree.sh
> @@ -1,4 +1,4 @@
> -#!/bin/bash
> +#!/bin/sh
>  #
>  # git-subtree.sh: split/join git repositories in subdirectories of this one
>  #
John Keeping· May 21, 2013, 07:55 UTC · re: Junio C Hamano · lore

Re: [PATCH] contrib/git-subtree: Use /bin/sh interpreter instead of /bin/bash

On Mon, May 20, 2013 at 03:36:58PM -0700, Junio C Hamano wrote:
Show 19 quoted lines
> Dmitry Marakasov <amdmi3@amdmi3.ru> writes:
> 
> > Use /bin/sh interpreter instead of /bin/bash for contrib/git-subtree:
> > it's required for systems which don't use bash by default (for example,
> > FreeBSD), while there seem to be no bashisms in the script (confirmed
> > by looking through the source and tesing subtree functionality with
> > FreeBSD's /bin/sh) to require specifically bash and not the generic
> > posix shell.
> 
> Has anybody audited to make sure that the script itself is free of
> bash-isms?
> 
> I somehow had an impression that in the past it was littered with
> bash-isms like function local variables and array variables and
> assumed that the #!/bin/bash was necessary.  I did a quick
> eyeballing and did not see anything glaringly bash-only, but I may
> have missed something (the coding style is so different from the
> core part of Git Porcelains and distracting for me to efficiently
> do a good job of scanning).
I ran the test suite with dash and everything passed.
checkbashisms doesn't find any problems either.
Show 16 quoted lines
> >
> > Signed-off-by: Dmitry Marakasov <amdmi3@amdmi3.ru>
> > ---
> >  contrib/subtree/git-subtree.sh | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/contrib/subtree/git-subtree.sh b/contrib/subtree/git-subtree.sh
> > index 8a23f58..5701376 100755
> > --- a/contrib/subtree/git-subtree.sh
> > +++ b/contrib/subtree/git-subtree.sh
> > @@ -1,4 +1,4 @@
> > -#!/bin/bash
> > +#!/bin/sh
> >  #
> >  # git-subtree.sh: split/join git repositories in subdirectories of this one
> >  #

← back to recent threads