git-gui: generic version trimming
Rather than attempting to trim off all the non-version number suffixes from the 'git version' result, let us scan along from the beginning until we find a non-numeric part and stop there. Any such dot-version number will be compatible with the Tcl package version comparison command which is the aim of this code. Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
This commit is contained in:
parent
c0d2c38d78
commit
67112c484b
17
git-gui.sh
17
git-gui.sh
@ -878,12 +878,19 @@ if {![regsub {^git version } $_git_version {} _git_version]} {
|
||||
exit 1
|
||||
}
|
||||
|
||||
proc get_trimmed_version {s} {
|
||||
set r {}
|
||||
foreach x [split $s -._] {
|
||||
if {[string is integer -strict $x]} {
|
||||
lappend r $x
|
||||
} else {
|
||||
break
|
||||
}
|
||||
}
|
||||
return [join $r .]
|
||||
}
|
||||
set _real_git_version $_git_version
|
||||
regsub -- {[\-\.]dirty$} $_git_version {} _git_version
|
||||
regsub {\.[0-9]+\.g[0-9a-f]+$} $_git_version {} _git_version
|
||||
regsub {\.[a-zA-Z]+\.?[0-9]+$} $_git_version {} _git_version
|
||||
regsub {\.GIT$} $_git_version {} _git_version
|
||||
regsub {\.[a-zA-Z]+\.?[0-9]+$} $_git_version {} _git_version
|
||||
set _git_version [get_trimmed_version $_git_version]
|
||||
|
||||
if {![regexp {^[1-9]+(\.[0-9]+)+$} $_git_version]} {
|
||||
catch {wm withdraw .}
|
||||
|
Loading…
Reference in New Issue
Block a user