Cygwin Gitk выпуск - PullRequest
       66

Cygwin Gitk выпуск

15 голосов
/ 12 февраля 2012

Я недавно установил все пакеты X11 в настройке cygwin, и теперь у меня огромная досадная ошибка: я не вижу gitk.Все работало на отлично, пока я не установил этот материал.

До того, как у меня возникла эта проблема, я не заметил, что сделал какую-либо конфигурацию, я просто запустил xwinserver, пошел в мою ветку и набрал gitk, и все появилось.Теперь я должен вставить свой дисплей, поскольку он утверждает, что дисплей не настроен.Я экспортирую настройки дисплея и проверяю, что он установлен правильно, запустив xclock, который появляется.Тогда я получаю вопрос:

1 [main] wish8.5 3436 child_info_fork::abort: data segment start: parent(0x4CF000) != child(0x67F000)
Error in startup script: unknown color name "SystemButtonFace"
while executing
"winfo rgb . $c"
(procedure "setui" line 3)
invoked from within
"setui $uicolor"
(file "C:\cygwin\bin\gitk" line 11504)

Не понял, что это такое.Я видел пару релевантных вопросов, но не получил ответов.

Примечания: я использую 64-разрядную версию Windows 7 и использую оболочку Bash

Обновление: я все еще получаю точно такую ​​же ошибку.Это действительно расстраивает!Я могу просто скачать Debian

Ответы [ 8 ]

17 голосов
/ 14 февраля 2012

На сегодняшний день мне удалось заставить работать gitk со следующими версиями на Win 7 64 Bit:

$ cygcheck -c cygwin git gitk tcl tcl-tk
Cygwin Package Information
Package              Version        Status
cygwin               1.7.10-1       OK
git                  1.7.9-1        OK
gitk                 1.7.9-1        OK
tcl                  8.5.11-1       OK
tcl-tk               8.5.11-1       OK

Самая ценная ссылка была опубликована aap.Это привело меня ко всем остальным шагам.

Чтобы исправить сбои разветвления, перейдите по этой ссылке из Cygwin FAQ.Шаги, которые я выполнил, были следующие:

  1. Пуск -> Выполнить -> ash.exe -> / bin / rebaseall (Когда я запускал, не было никакого выводакоманды)

  2. Одной из причин, по которой вы можете получить сбои разветвления, является наличие антивирусных программ / брандмауэров / программ-шпионов.В моем случае программным обеспечением BLODA , указанным в качестве причин сбоев разветвления, был McAfee, установленный на моем рабочем компьютере.Исправление состояло в том, чтобы переместить каталог Cygwin в папку, исключенную OAS McAfee, и создать символическую ссылку на старое местоположение, например, так:<strong>mklink /D C:\Cygwin C:\Dev\Cygwin</strong> C: \ Dev - исключенная папкаИсключения папок можно настроить с помощью консоли Viruscan.Чтобы проверить, исключен ли ваш текущий каталог Cygwin, см. this .

  3. Запуск GITK

    • Метод 1
      1. В консоли Cygwin:<b>startx&</b>
      2. Заголовок всплывающего окна должен использоваться для установки переменной env DISPLAY в Cygwin следующим образом:Название: Cygwin / X: 1,0 , затем сделайте <b>export DISPLAY=localhost:1.0</b>Название: Cygwin / X: 0.0 , затем сделайте <b>export DISPLAY=localhost:0.0</b>
      3. Наконец-то запустил гитк так:<b>gitk&</b>
      4. В результате я получил следующее:
    • Метод 2
      1. Создать файл ~ / .startxwinrc со следующим содержимым:<b>gitk&</b>
      2. Затем выполните следующую команду: startxwin> / dev / null 2> & 1
      3. В итоге у меня появилось окно gitk, которое выглядит точно так же, как и до того, как произошла вся вещь 'require X', упомянутая aap:

16 голосов
/ 14 февраля 2012

Кажется, здесь есть три вопроса.

  1. Требование DISPLAY связано с изменением Cygwin Tk на требуют X .

  2. Ошибка SystemButtonFace также связана с тем же изменением. Рекомендуемое исправление - удалить файл настроек ~ / .gitk или хотя бы строку в этом файле, ссылающуюся на SystemButtonFace.

  3. проблема с вилкой - кажется, требуется rebaseall .

Обратите внимание, что есть обновленная версия 1.7.9 git и gitk, нашедшая путь к зеркалам cygwin, но сама по себе эта версия не решила проблему для меня.

7 голосов
/ 16 февраля 2012

На основании приведенного выше ответа я сделал другое исправление.В моем ~/.bash_profile я добавил следующее:

startxwin >/dev/null 2>&1
export DISPLAY=localhost:0.0

Я думаю, что это лучшее решение, чем добавление gitk & в ~ / .startxwinrc, поскольку тогда оно работает только с gitk.Таким образом, вы можете делать git gui и другие вещи.

3 голосов
/ 24 февраля 2012

Решения, которые публикуют все остальные, касаются новой зависимости Tcl / Tk от X11 . На самом деле, ошибка, которую вы видите, является последующей ошибкой из-за запуска gitk под GDI до того, как появилось требование X11.

Исправление состоит в том, чтобы отредактировать файл ~/.gitk и удалить все строки, которые относятся к SystemButtonFace. Как только вы это сделаете, все должно снова заработать.

2 голосов
/ 21 февраля 2017

Другие ответы, предлагающие удалить ~ / .gitk, указали в правильном направлении, но в новых выпусках файл конфигурации по умолчанию находится в ~ / .config / git / gitk, как указано в руководстве .

1 голос
/ 03 января 2017

Я получил ту же ошибку.Проблема заключалась в том, что я первоначально использовал git bash , а затем переключился на использование git в cygwin .

В git git bash создан файл ~ / .gitk, который был несовместимс Cygwin's Tcl / TK.Если вы удалите ~ / .gitk, при запуске gitk cygwin он создаст новый файл.

1 голос
/ 24 апреля 2012

На основании ответа Бендера

  • Установить пакет xinit
  • Go go C:\cygwin\bin, двойной щелчок ash.exe
  • , ввести ./rebaseall

Тогда вы можете начать gitk с

startxwin
gitk
0 голосов
/ 18 февраля 2012

В конце концов мне пришлось удалить Cygwin и переустановить его. Вопрос лежит где-то в X11 для меня. Когда я переустанавливал, мне приходилось перебазировать все, так как у меня была проблема с форком, поэтому эти ответы действительно помогли. Мне также нужно было настроить отображение так, чтобы оно отображалось в моем .bashrc

Мне жаль, что я не могу предоставить что-то более конкретное, однако, что бы я ни пытался, моя проблема повторялась.

...