git gui怪导致“ CFURLCopyResourcePropertyForKey失败,因为它传递了没有模式的URL”错误

时间:2018-12-08 16:30:46

标签: git macos git-gui tcltk

这是具有最新版本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时,它会还原。

有人知道如何真正解决问题吗?

0 个答案:

没有答案