Johannes Schindelin 304d297463 git-wrapper: add code to configure command-lines to be launched
To allow the Git wrapper to replace the `git-bash.bat` script (which
would always open the Win32 console, even if the user wants to use a
different terminal emulator), we need to offer a way to configure
*which* command-line to run.

We need to recompile the git-wrapper with the `-mwindows` flag to
declare that this is a GUI program (not a console program). Having to
recompile it anyway, let's put the new code in a conditionally compiled
section so that the builtins (for which we use the git-wrapper, too) do
not need to carry around that code.

To configure the command-line, we use a way that is very typical for
Windows: resources. Windows resources are data that are stored inside
.exe files, but can be changed *after* compilation. Therefore, this
facility is *exactly* what we want: we can easily copy the .exe to the
new name `git-bash.exe`, configure that executable to run the Bash, and
then copy it again to the new name `git-cmd.exe` and configure that
executable to run `cmd.exe` instead.

For even more flexibility, we expand environment variables specified as
`@@<VARIABLE-NAME>@@`, and for convenience `@@EXEPATH@@` expands into
the directory in which the executable resides.

Sadly, an executable cannot configure itself: the `.exe` file is locked
while the process is running. This means we have to have a separate
executable to edit the resources anyway, so let's just enhance the Git
wrapper *itself*: when copied to the new name `edit-res.exe`, it can
edit other copies of the Git wrapper like so:

	edit-res.exe git-cmd.exe command '@@COMSPEC@@ /K'

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2015-03-26 09:05:12 +01:00
2015-03-20 15:04:07 +01:00
2015-01-30 15:02:34 -07:00
2015-01-14 09:32:04 -08:00
2015-01-14 09:32:04 -08:00
2015-01-07 12:55:05 -08:00
2015-03-20 14:12:07 +01:00
2015-01-07 12:55:05 -08:00
2015-03-20 14:12:07 +01:00
2014-12-22 12:27:20 -08:00
2014-12-12 14:31:42 -08:00
2015-03-20 14:12:07 +01:00
2014-12-22 12:27:41 -08:00
2015-03-20 15:04:28 +01:00
2015-02-11 13:39:44 -08:00
2015-02-26 20:19:21 +00:00
2015-03-13 22:57:25 -07:00
2015-02-11 13:44:20 -08:00
2015-03-20 15:04:54 +01:00
2015-01-07 12:55:05 -08:00
2015-02-11 13:44:07 -08:00
2014-12-17 11:46:57 -08:00
2015-03-20 14:12:03 +01:00
2015-03-13 22:57:25 -07:00
2015-02-11 13:44:07 -08:00
2015-02-11 13:44:07 -08:00
2015-02-11 13:44:07 -08:00
2014-12-22 12:27:10 -08:00
2014-12-22 12:27:10 -08:00
2014-12-22 12:27:30 -08:00
2014-12-22 12:27:30 -08:00
2015-01-07 12:55:05 -08:00
2015-02-13 13:16:12 -08:00
2015-02-11 13:43:51 -08:00
2015-01-07 19:56:44 -08:00
2014-12-18 12:30:53 -08:00
2015-01-07 13:28:10 -08:00
2014-12-17 11:04:39 -08: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.

If you encounter problems, you can report them as GitHub issues, discuss them on Git for Windows' Google Group, and contribute bug fixes.

Description
No description provided
Readme 575 MiB
Languages
C 50.5%
Shell 38.8%
Perl 4.4%
Tcl 3.2%
Python 0.8%
Other 2.1%