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

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

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Nov 16, 2015, 16:01 UTC
Message-ID
<alpine.DEB.1.00.1511161656480.1686@s15462909.onlinehome-server.info>
In-Reply-To
<20151113230933.GA16173@sigill.intra.peff.net>
Hi Peff,
On Fri, 13 Nov 2015, Jeff King wrote:
> It's possible somebody could be doing something clever with $SHELL, but
> I kind of doubt it. If they want to do something clever, it is much
> easier to put it directly on the exec line, and have the normal $SHELL
> run their clever thing.

To clarify the Git for Windows scenario: SHELL_PATH is indeed set to `/bin/sh`, but reportedly it is converted into a full Windows path when we leave the POSIX emulation layer, i.e. when `git.exe` is called (which has *no* idea about POSIX paths, or at least next to none).

The reason is, of course, that regular Windows programs would not know what to do with the path /bin/sh.

The problem arises when we re-enter the POSIX realm, i.e. when we run a script (such as `git-rebase`): the path is not converted back!

There are already tickets on Git for Windows' bug tracker where the case is made that vim has serious problems with that space in the environment variable, so the long-term fix is really to teach the POSIX emulation layer (read: MSys2) to convert SHELL_PATH back into a POSIX path when appropriate.

This is on my plate, but there are quite a couple more urgent tasks I need to take care of, so please do not hold your breath (unless you are into that kind of thing).

Ciao, Dscho

Previous: Jeff KingNext: Jeff King
Message 7 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.