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

[PATCH 1/1] git-gui (Windows): use git-bash.exe if it is available

From
TGThomas Klaeger via GitGitGadget <gitgitgadget@gmail.com>
Date
Sep 26, 2019, 17:46 UTC
Message-ID
<414cf2c89876fe122ee18f8d6533f083c2f65654.1569519977.git.gitgitgadget@gmail.com>
In-Reply-To
<pull.360.git.gitgitgadget@gmail.com>
From: Thomas Klaeger <thklaeger@gmail.com>

Git for Windows 2.x ships with an executable that starts the Git Bash with all the environment variables and what not properly set up. It is also adjusted according to the Terminal emulator option chosen when installing Git for Windows (while `bash.exe --login -i` would always launch with Windows' default console).

So let's use that executable (usually C:\Program Files\Git\git-bash.exe) instead of `bash.exe --login -i` if its presence was detected.

This fixes https://github.com/git-for-windows/git/issues/490
Signed-off-by: Thomas Kläger <thomas.klaeger@10a.ch>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
 git-gui.sh | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/git-gui.sh b/git-gui.sh
index f9b323abff..5a1bfd736e 100755
--- a/git-gui.sh
+++ b/git-gui.sh
@@ -2700,10 +2700,18 @@ if {![is_bare]} {
 }
 
 if {[is_Windows]} {
+	# Use /git-bash.exe if available
+	set normalized [file normalize $::argv0]
+	regsub "/mingw../libexec/git-core/git-gui$" \
+		$normalized "/git-bash.exe" cmdLine
+	if {$cmdLine != $normalized && [file exists $cmdLine]} {
+		set cmdLine [list "Git Bash" $cmdLine &]
+	} else {
+		set cmdLine [list "Git Bash" bash --login -l &]
+	}
 	.mbar.repository add command \
 		-label [mc "Git Bash"] \
-		-command {eval exec [auto_execok start] \
-					  [list "Git Bash" bash --login -l &]}
+		-command {eval exec [auto_execok start] $cmdLine}
 }
 
 if {[is_Windows] || ![is_bare]} {
-- 
gitgitgadget
Previous: Johannes Schindelin via GitGitGadgetNext: Pratyush Yadav
Message 2 of 7 in “git-gui (Windows): use git-bash.exe if it is available”
  1. 0/1 git-gui (Windows): use git-bash.exe if it is availableJohannes Schindelin via GitGitGadget, Sep 26, 2019
  2. 1/1 git-gui (Windows): use git-bash.exe if it is availableThomas Klaeger via GitGitGadget, Sep 26, 2019
  3. Pratyush YadavSep 26, 2019
  4. Johannes SchindelinSep 30, 2019
  5. Johannes SixtOct 1, 2019
  6. Pratyush YadavOct 1, 2019
  7. Pratyush YadavOct 1, 2019

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.