这是具有最新版本git的最新OSX。
问题在于,当您执行“ git gui blame”时,终端窗口中会出现大量烦人的错误列表:
CFURLCopyResourcePropertyForKey失败,因为它传递了没有模式的URL
CFURLCopyResourcePropertyForKey失败,因为它传递了没有模式的URL
CFURLCopyResourcePropertyForKey失败,因为它传递了没有模式的URL
CFURLCopyResourcePropertyForKey失败,因为它传递了没有模式的URL
我环顾四周,看到其他有关此事的帖子,都没有谈论如何解决“ git gui blame”。关于gitk的帖子最接近。
我尝试过“ brew install tcl-tk”,但这不能解决问题。我还升级到了最新的git。
然后我研究了如何实现git gui blame,并最终发现它最终执行了此脚本:
/usr/local/Cellar/git/2.19.2/share/git-gui
包含
#!/bin/sh
if test "z$*" = zversion ||
test "z$*" = z--version
then
echo 'git-gui version 0.21.GITGUI'
else
libdir="${GIT_GUI_LIB_DIR:-/usr/local/Cellar/git/2.19.2/share/git-gui/lib}"
exec "$libdir/Git Gui.app/Contents/MacOS/Wish" "$0" "$@"
fi
这里的“愿望”是一个OSX应用程序,它使用tcl-tk的内置版本。我猜想这解释了为什么安装新版本的tck-tk不会对其产生影响,因为其中包含到tcl-tk内置(旧)版本的硬编码路径。
我可以通过更改/usr/local/Cellar/git/2.19.2/share/git-gui来隐藏错误消息:
#!/bin/sh
if test "z$*" = zversion ||
test "z$*" = z--version
then
echo 'git-gui version 0.21.GITGUI'
else
libdir="${GIT_GUI_LIB_DIR:-/usr/local/Cellar/git/2.19.2/share/git-gui/lib}"
exec "$libdir/Git Gui.app/Contents/MacOS/Wish" "$0" "$@" 2>/dev/null
fi
请注意重定向'2> / dev / null'。
但是,我觉得这并不是一个很好的解决方案,它只是隐藏了错误。另外,当我升级git时,它会还原。
有人知道如何真正解决问题吗?