git gui обвиняет, что произошел сбой CFURLCopyResourcePropertyForKey, поскольку ему был передан URL-адрес без схемы.
Это последняя версия OSX с последней версией git.
Проблема в том, что когда вы делаете "git gui blame", очень раздражающий список ошибок заполняет окно вашего терминала, чтобы:
Сбой CFURLCopyResourcePropertyForKey, поскольку ему был передан URL-адрес без схемы
Сбой CFURLCopyResourcePropertyForKey, поскольку ему был передан URL-адрес без схемы
Сбой CFURLCopyResourcePropertyForKey, поскольку ему был передан URL-адрес без схемы
Сбой CFURLCopyResourcePropertyForKey, поскольку ему был передан URL-адрес без схемы
Я огляделся и увидел другие посты, в которых говорилось об этом, ни в одном из которых не говорилось о том, как исправить "git gui вина". Пост о Гитке был самым близким.
Я пробовал "brew install tcl-tk", но это не решает проблему. Я также обновился до последней версии Git.
Затем я обдумал, как реализован git gui, и в конце концов обнаружил, что он в конечном итоге выполняет этот скрипт:
/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.
У кого-нибудь есть идеи, как по-настоящему решить проблему?