Dmitry Marakasov <> 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

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).

> Signed-off-by: Dmitry Marakasov <>
> ---
>  contrib/subtree/ | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> diff --git a/contrib/subtree/ b/contrib/subtree/
> index 8a23f58..5701376 100755
> --- a/contrib/subtree/
> +++ b/contrib/subtree/
> @@ -1,4 +1,4 @@
> -#!/bin/bash
> +#!/bin/sh
>  #
>  # split/join git repositories in subdirectories of this one
>  #
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to
More majordomo info at

Reply via email to