@leroysheep / Socializer / commits / 8f49975bbd

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>

Mark Levedahl committed Jun 5, 2025 at 17:09 UTC 8f49975bbd981a592c2c526e2a2b767f37a3feee
1 file changed +16 -2
gitk
+16 -2
index 5be8b2aeb0..c05808b353 100755 --- a/gitk +++ b/gitk @@ -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"