Re: [msysGit] [PATCH/RFC] alias: use run_command api to execute aliases
- From
Erik Faye-Lund <kusmabite@gmail.com>
- Date
- Jan 7, 2011, 14:24 UTC
- Message-ID
- <AANLkTi=6wG6khBAqLA8nki5-wbxQB-oYUAgMSqT-egpt@mail.gmail.com>
- In-Reply-To
- <alpine.DEB.1.00.1101070216390.1542@bonsai2>
On Fri, Jan 7, 2011 at 2:17 AM, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
Show 19 quoted lines
> Hi, > > On Thu, 6 Jan 2011, Erik Faye-Lund wrote: > >> On Windows, system() executes with cmd.exe instead of /bin/sh. This >> means that aliases currently has to be batch-scripts instead of >> bourne-scripts. On top of that, cmd.exe does not handle single quotes, >> which is what the code-path currently uses to handle arguments with >> spaces. >> >> To solve both problems in one go, use run_command_v_opt() to execute >> the alias. It already does the right thing prepend "sh -c " to the >> alias. > > Would this not break setups where aliases were defined to execute batch > scripts? > > If this is true, I'm of two minds here. >
It would indeed, but I wouldn't worry TOO much about it. We've clearly told the users that Git for Windows is a tool that you have to be willing to work on to use.
But I'm kind of of two minds here myself, but for a slightly different reason: I think Git for Windows SHOULD use cmd.exe to execute scripts. We should be able to lose the msys-environment and still have the basic functionality working. In that sense, this is a step in the wrong direction. But I'd rather have all code use the same code-path to execute scripts, and make a bit switch to cmd.exe together with porting all supplied scripts to batch-files some time in the future.