gitk: require git >= 2.20

gitk has alternate code paths for early git up to 1.72, and has no
defined minimum version. Setting any version > 1.72 as minimum will
allow removing those code paths.

The recent set of advisories published for git, gitk, and git-gui add
updates for v2.43 and later, but Debian has buster withgit 2.20 still
available.  While Debian would be responsible for backporting any fixes
to such an early version, we have no good reason preclude it.
So, make 2.20 the minimum required git version.

Helped-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Mark Levedahl <mlevedahl@gmail.com>
This commit is contained in:
Mark Levedahl
2025-06-05 17:09:02 -04:00
parent b7ef4071c4
commit 8f49975bbd

18
gitk
View File

@@ -9,6 +9,22 @@ exec wish "$0" -- "$@"
package require Tk
set MIN_GIT_VERSION 2.20
regexp {^git version ([\d.]*\d)} [exec git version] _ git_version
if {[package vcompare $git_version $MIN_GIT_VERSION] < 0} {
set message "The git executable found is too old.
The minimum required version is $MIN_GIT_VERSION.0.
The version of git found is $git_version."
catch {wm withdraw .}
tk_messageBox \
-icon error \
-type ok \
-title "gitk: fatal error" \
-message $message
exit 1
}
######################################################################
##
## Enabling platform-specific code paths
@@ -12820,8 +12836,6 @@ if {$use_ttk} {
setttkstyle
}
regexp {^git version ([\d.]*\d)} [exec git version] _ git_version
set show_notes {}
if {[package vcompare $git_version "1.6.6.2"] >= 0} {
set show_notes "--show-notes"