aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarlo Marcelo Arenas Belón <carenas@gmail.com>2025-07-31 01:06:28 -0700
committerJohannes Sixt <j6t@kdbg.org>2025-08-04 18:25:59 +0200
commite3efff4463c09f0070777000624f6b148873a0b5 (patch)
treeb1257d524b0452b2e9f7ed969d82668d1d28bb9d
parentgit-gui: honor TCLTK_PATH in git-gui--askpass (diff)
downloadgit-e3efff4463c09f0070777000624f6b148873a0b5.tar.gz
git-e3efff4463c09f0070777000624f6b148873a0b5.zip
git-gui: ensure own version of git-gui--askpass is used
When finding a location for the askpass helper, git will be asked for its exec path, but if that git is not the same that called git-gui then we might mistakenly point to its helper instead. Assume that git-gui and the helper are colocated to derive its path instead. This is specially useful in macOS where a broken version of that helper is provided by the system git. [j6t: move directory to variable to help in-flight topics] Suggested-by: Mark Levedahl <mlevedahl@gmail.com> Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com> Signed-off-by: Johannes Sixt <j6t@kdbg.org>
-rwxr-xr-xgit-gui.sh4
1 files changed, 3 insertions, 1 deletions
diff --git a/git-gui.sh b/git-gui.sh
index 8bb121db4f..f28a23f844 100755
--- a/git-gui.sh
+++ b/git-gui.sh
@@ -1113,9 +1113,11 @@ citool {
## execution environment
# Suggest our implementation of askpass, if none is set
+set argv0dir [file dirname [file normalize $::argv0]]
if {![info exists env(SSH_ASKPASS)]} {
- set env(SSH_ASKPASS) [file join [git --exec-path] git-gui--askpass]
+ set env(SSH_ASKPASS) [file join $argv0dir git-gui--askpass]
}
+unset argv0dir
######################################################################
##