Skip to content

git-gui (Windows): use git-bash.exe if it is available #360

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions git-gui.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2700,10 +2700,18 @@ if {![is_bare]} {
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On the Git mailing list, Pratyush Yadav wrote (reply to this):

On 26/09/19 10:46AM, Thomas Klaeger via GitGitGadget wrote:
> 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>

While applying the patch, my patch check script complained that the 
author did not sign off.

Well, they did... but with a slightly different name (Kl�ger vs  
Klaeger) and a completely different email address.

I'm not sure if I can do something about it, just thought it was 
something worth mentioning.

-- 
Regards,
Pratyush Yadav


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]} {
Expand Down