From: Erik Faye-Lund Date: Fri, 07 Jan 2011 14:24:25 GMT Subject: Re: [msysGit] [PATCH/RFC] alias: use run_command api to execute aliases Message-ID: In-Reply-To: On Fri, Jan 7, 2011 at 2:17 AM, Johannes Schindelin wrote: > 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.