由于版本号不好,git gui无法启动

时间:2014-06-19 20:40:02

标签: linux git tcl git-gui

我正在运行一个古老的Ubuntu,在自动更新后,git-gui停止工作并抱怨:

Error in startup script: expected version number but got "1.7.0-"
    while executing
"package vsatisfies $_git_version 1.7.0-"
    (file "/usr/local/libexec/git-core/git-gui" line 1)

我的“修复”是按以下方式恢复/usr/lib/git-core/git-gui

1286c1286
< if {[package vsatisfies $_git_version 1.7.0]} {
---
> if {[package vsatisfies $_git_version 1.7.0-]} {
1542c1542
<   if {[package vsatisfies $::_git_version 1.6.3]} {
---
>   if {[package vsatisfies $::_git_version 1.6.3-]} {

令人遗憾的是,在下一次更新后,它再次发生了。这个问题似乎很少见,我今年发现的唯一相关链接是关于SO的删除问题。我正在使用git 2.0.0tclsh 8.4

1 个答案:

答案 0 :(得分:1)

Tcl 8.5中的包版本号满足逻辑发生了变化,这使得它支持更复杂的版本表达式。似乎git-gui正在使用这种扩展语法(不必要地发生这种情况),因此,每当你更新时,你都会用它来对抗这场战斗,直到你升级你的系统有Tcl 8.5。

无论如何这是推荐的; Tcl 8.4不受支持,将来会有 no 的未来版本,并且不会向软件包版本逻辑发送更改。


git-gui代码中存在错误;它应该在某个地方(可能在其主要脚本的顶部)说明:

package require Tcl 8.5

因为它使用了Tcl 8.5的功能。这不会为你解决问题,但会告诉你正确的事情。