aboutsummaryrefslogtreecommitdiffstats
path: root/gitk
diff options
context:
space:
mode:
authorMark Levedahl <mlevedahl@gmail.com>2025-07-13 16:10:33 -0400
committerMark Levedahl <mlevedahl@gmail.com>2025-07-16 12:07:15 -0400
commit82d316c6c87d69020d3edabf8f5ef8457e6d1087 (patch)
tree85c34efdd5f7a8de0799267093b5da5be515b8e2 /gitk
parentgitk: remove code targeting git <= 1.7.2 (diff)
downloadgit-82d316c6c87d69020d3edabf8f5ef8457e6d1087.tar.gz
git-82d316c6c87d69020d3edabf8f5ef8457e6d1087.zip
gitk: Make TclTk 8.6 the minimum, allow 8.7
gitk runs under wish so naturally has Tcl and Tk available and of the same version. gitk sets a requirement on Tk version >= 8.4: this is very outdated, and the earliest Tcl currently shipping on any supported OS is 8.6. As 8.7 is in alpha test and is generally compatible with 8.6, we should allow 8.7. Tcl 9.0 has planned compatibility breaking changes so is not yet supported. Let's change the requirements to 8.6-8.7, but not 9.0. Place this at the top of file so the requirements are obvious. Signed-off-by: Mark Levedahl <mlevedahl@gmail.com>
Diffstat (limited to '')
-rwxr-xr-xgitk17
1 files changed, 9 insertions, 8 deletions
diff --git a/gitk b/gitk
index b7d30af0fb..b5918008a9 100755
--- a/gitk
+++ b/gitk
@@ -7,7 +7,15 @@ exec wish "$0" -- "$@"
# and distributed under the terms of the GNU General Public Licence,
# either version 2, or (at your option) any later version.
-package require Tk
+if {[catch {package require Tcl 8.6-8.8} err]} {
+ catch {wm withdraw .}
+ tk_messageBox \
+ -icon error \
+ -type ok \
+ -title "gitk: fatal error" \
+ -message $err
+ exit 1
+}
set MIN_GIT_VERSION 2.20
regexp {^git version ([\d.]*\d)} [exec git version] _ git_version
@@ -12509,13 +12517,6 @@ namespace import ::msgcat::mc
## And eventually load the actual message catalog
::msgcat::mcload $gitk_msgsdir
-# First check that Tcl/Tk is recent enough
-if {[catch {package require Tk 8.4} err]} {
- show_error {} . [mc "Sorry, gitk cannot run with this version of Tcl/Tk.\n\
- Gitk requires at least Tcl/Tk 8.4."]
- exit 1
-}
-
# on OSX bring the current Wish process window to front
if {[tk windowingsystem] eq "aqua"} {
safe_exec [list osascript -e [format {