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 executionI 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