git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Junio C Hamano <gitster@pobox.com>
Date
May 20, 2013, 22:36 UTC
Message-ID
<7vsj1hth11.fsf@alter.siamese.dyndns.org>
In-Reply-To
<20130520202434.GA3151@hades.panopticon>
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
>  #
Previous: Dmitry MarakasovNext: John Keeping
Message 2 of 3 in “contrib/git-subtree: Use /bin/sh interpreter instead of /bin/bash”
  1. contrib/git-subtree: Use /bin/sh interpreter instead of /bin/bashDmitry Marakasov, May 20, 2013
  2. Junio C HamanoMay 20, 2013
  3. John KeepingMay 21, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.