git guiコマンドでGit Gui.app経由でgitkを起動したとき, Mac OS X El Capitan (10.11.6)環境ではエラーが発生しうまく動かない現象があったが, 解決した. /usr/local/bin/gitkのコードは, いじらなくていい.
(以下の記事は, brewとbrew caskの環境が整っていることを前提としている)
現象
- brewでインストールしたgitを使っているが, GUIを使おうとするとエラー(unknown color "lime"といったエラー・メッセージ)が出る
- コマンドラインからgitk単体で起動すると、エラーは起きない.
- コマンドラインから`git gui`経由でgitkを起動する(ファイル>全てのブランチの履歴を見る)と、エラー(unknown color name "lime").
解析
- `gitk` と `Git Gui.app` 両者のTcl/Tk環境に齟齬がある?
- gitkのバックアップを取り, 冒頭に`puts "DEBUG: ver. [info patchlevel] $tcl_version/$tk_version"`を組み込んだgitkを作り, 起動されたときのwishのバージョンを確認してみる.
- gitkで起動したときはbrewでインストールしたtcl(wish) 8.6が使用され, `git gui` (Git Gui.app) からgitkを起動したときはMac OS Xのシステム標準として用意されているtcl(wish)8.5が使われていることが判明した.
$ gitk DEBUG: ver. 8.6.4 8.6/8.6
$ git gui DEBUG: ver. 8.5.9 8.5/8.5 Error in startup script: unknown color name "lime" (processing "-fore" option) invoked from within "$ctext tag conf m2 -fore [lindex $mergecolors 2]" (procedure "makewindow" line 347) invoked from within "makewindow" (file "/usr/local/bin/gitk" line 12552) invoked from within "source $AppMain_source" (file "/usr/local/Cellar/git/2.13.2/share/git-gui/lib/Git Gui.app/Contents/Resources/Scripts/AppMain.tcl" line 29)
解決策
ActiveTclの再インストール(念のため)と, gitのソースコードからの再ビルドを行う.$ brew cask uninstall tcl $ brew uninstall --force git $ brew cask install tcl $ brew install --build-from-source git
0 件のコメント:
コメントを投稿
何かありましたら、どうぞ: