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

Re: [PATCH] rebase-i-exec: Allow space in SHELL_PATH

From
Jeff King <peff@peff.net>
Date
Nov 13, 2015, 06:25 UTC
Message-ID
<20151113062534.GE32157@sigill.intra.peff.net>
In-Reply-To
<1447394599-16077-1-git-send-email-fredrik.medley@gmail.com>
On Fri, Nov 13, 2015 at 07:03:19AM +0100, Fredrik Medley wrote:
Show 19 quoted lines
> On Windows, when Git is installed under "C:\Program Files\Git", SHELL_PATH
> will include a space. Fix "git rebase --interactive --exec" so that it
> works with spaces in SHELL_PATH.
> 
> Signed-off-by: Fredrik Medley <fredrik.medley@gmail.com>
> ---
>  git-rebase--interactive.sh | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
> index 30edb17..b938a6d 100644
> --- a/git-rebase--interactive.sh
> +++ b/git-rebase--interactive.sh
> @@ -610,7 +610,7 @@ do_next () {
>  		read -r command rest < "$todo"
>  		mark_action_done
>  		printf 'Executing: %s\n' "$rest"
> -		${SHELL:-@SHELL_PATH@} -c "$rest" # Actual execution
> +		"${SHELL:-@SHELL_PATH@}" -c "$rest" # Actual execution

I think this is the right thing to do (at least I could not think of a case that would be harmed by it, and it certainly fixes your case). It looks like filter-branch would need a similar fix?

I think this still isn't resilient to weird meta-characters in the @SHELL_PATH@, but as this is a build-time option, I think it's OK to let people who do

  make SHELL_PATH='}"; rm -rf /'
hang themselves.
-Peff
Previous: Fredrik MedleyNext: Fredrik Medley
Message 2 of 9 in “rebase-i-exec: Allow space in SHELL_PATH”
  1. rebase-i-exec: Allow space in SHELL_PATHFredrik Medley, Nov 13, 2015
  2. Jeff KingNov 13, 2015
  3. Fredrik MedleyNov 13, 2015
  4. Jeff KingNov 13, 2015
  5. Fredrik MedleyNov 13, 2015
  6. Jeff KingNov 13, 2015
  7. Johannes SchindelinNov 16, 2015
  8. Jeff KingNov 16, 2015
  9. Matthieu MoyNov 13, 2015

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.