Johannes Schindelin cb92cc1c70 git-wrapper: support COMSPEC better
The quoting rules of `cmd.exe` are really, really quirky. In particular,
if there are more than two quotes, the entire set of rules changes. That
is the reason why

	CMD /C "C:\Program Files\Git\usr\bin\bash.exe" -l -i

works, but

	CMD /C "C:\Program Files\Git\usr\bin\bash.exe" -l -i "test.sh"

fails with this error message:

	'C:\Program' is not recognized as an internal or external command,
	operable program or batch file.

The recommended fix is to pass the /S option to `cmd.exe` and surround
the entire command-line by an extra set of quotes. And here lies the
rub: for that to work, we have to append an extra quote. At the end of
the command-line. *After* the last argument was appended, if any.

This commit supports that use case by introducing the option
"APPEND_QUOTE". The intended usage is to use the following string
resource:

	SHOW_CONSOLE=1 APPEND_QUOTE=1
	@@COMSPEC@@ /S /C \"\"@@EXEPATH@@\\usr\\bin\\bash.exe\" --login -i

(Note that there are only three quotes on that command-line, the fourth
to be appended due to the `APPEND_QUOTE` setting.)

This is (1/3) to fix https://github.com/git-for-windows/git/issues/396

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2015-09-21 19:13:12 +00:00
2015-09-18 15:12:03 +02:00
2015-09-18 15:11:56 +02:00
2015-09-18 15:11:53 +02:00
2015-09-18 17:37:42 +02:00
2015-01-14 09:32:04 -08:00
2014-07-28 10:14:33 -07:00
2015-05-05 21:00:23 -07:00
2015-05-05 21:00:23 -07:00
2015-03-10 20:53:52 -07:00
2015-09-18 15:09:05 +02:00
2015-09-18 15:11:46 +02:00
2015-05-20 10:19:12 -07:00
2014-12-22 12:27:20 -08:00
2014-12-12 14:31:42 -08:00
2015-06-25 10:47:46 -07:00
2015-05-26 13:24:46 -07:00
2015-09-18 15:09:05 +02:00
2014-10-29 10:09:35 -07:00
2015-02-26 20:19:21 +00:00
2015-09-17 12:16:17 -07:00
2015-07-13 14:02:19 -07:00
2014-10-08 13:05:25 -07:00
2014-09-29 12:36:11 -07:00
2014-07-07 13:56:38 -07:00
2014-07-07 13:56:38 -07:00
2015-03-13 22:43:11 -07:00
2015-06-05 12:17:37 -07:00
2015-03-27 13:02:32 -07:00
2015-09-18 15:12:03 +02:00
2014-10-20 12:23:48 -07:00
2015-09-18 15:12:05 +02:00
2015-03-23 11:12:58 -07:00
2015-09-04 10:43:23 -07:00
2014-10-19 15:28:30 -07:00
2015-09-18 15:12:25 +02:00
2014-07-21 12:35:39 -07:00
2014-10-10 16:02:26 -07:00
2015-05-25 12:19:39 -07:00
2015-09-17 12:16:17 -07:00
2015-06-05 12:17:37 -07:00
2015-05-22 09:33:08 -07:00
2014-09-15 11:29:46 -07:00
2015-02-11 13:44:07 -08:00
2015-06-05 12:17:37 -07:00
2014-06-13 11:49:40 -07:00
2014-12-22 12:27:30 -08:00
2014-12-22 12:27:30 -08:00
2015-06-05 12:17:37 -07:00
2015-05-11 14:23:39 -07:00
2015-01-07 19:56:44 -08:00
2014-09-02 13:28:44 -07:00
2015-09-04 10:43:23 -07:00
2015-06-05 12:17:37 -07:00
2015-08-11 14:29:36 -07:00

Git for Windows

Join the chat at https://gitter.im/git-for-windows/git

This is the source code of Git for Windows, forked from Git.

This project is run by a governance model. If you encounter problems, you can report them as GitHub issues, discuss them on Git for Windows' Google Group, and contribute bug fixes.

Description
A fork of Git containing Windows-specific patches.
Readme 470 MiB
2025-08-19 03:50:05 -05:00
Languages
C 51.7%
Shell 37.5%
Perl 4.3%
Tcl 3%
Python 0.8%
Other 2.5%