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.0
, tclsh 8.4
,
1 ответ
В Tcl 8.5 произошло изменение в логике удовлетворения номеров версий пакетов, что позволило ему поддерживать более сложные выражения версий. Похоже, что git-gui
использует этот расширенный синтаксис (без необходимости), и поэтому вы будете бороться с ним каждый раз, когда будете обновлять его, пока не обновите свою систему до Tcl 8.5.
Это рекомендуется в любом случае; Tcl 8.4 не поддерживается, будущих выпусков не будет, и изменения в логике версии пакета не будут перенесены.
В баге есть ошибка git-gui
код; он должен сказать сам по себе где-то (вероятно, в верхней части основного сценария) именно это:
package require Tcl 8.5
так как он использует функциональность из Tcl 8.5. Это не исправит ситуацию для вас, но скажет вам правильную вещь, которую вы должны сделать с этим.