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.

У кого-нибудь есть идеи, как по-настоящему решить проблему?

0 ответов

Другие вопросы по тегам