polecenie Git-gui wywala się na macOS Sierra
Po aktualizacji do macOS Sierra, git-gui
Komenda zawiesza się z błędem:
Wish[23862:202062] *** Terminating app due to uncaught exception 'CALayerInvalidGeometry', reason: 'CALayer position contains NaN: [0 nan]' *** First throw call stack: ( 0 CoreFoundation 0x00007fff8cd9252b __exceptionPreprocess + 171 1 libobjc.A.dylib 0x00007fffa146acad objc_exception_throw + 48 2 CoreFoundation 0x00007fff8ce10a0d +[NSException raise:format:] + 205 3 QuartzCore 0x00007fff92938980 _ZN2CA5Layer12set_positionERKNS_4Vec2IdEEb + 152 4 QuartzCore 0x00007fff92938af5 -[CALayer setPosition:] + 44 5 QuartzCore 0x00007fff9293914b -[CALayer setFrame:] + 644 6 CoreUI 0x00007fff986e2112 _ZN20CUICoreThemeRenderer26MakeOrUpdateScrollBarLayerEPK13CUIDescriptoraPP7CALayer + 1284 7 CoreUI 0x00007fff986de317 _ZN20CUICoreThemeRenderer19CreateOrUpdateLayerEPK13CUIDescriptorPP7CALayer + 1755 8 CoreUI 0x00007fff986604d1 _ZN11CUIRenderer19CreateOrUpdateLayerEPK14__CFDictionaryPP7CALayer + 175 9 CoreUI 0x00007fff98663185 CUICreateOrUpdateLayer + 221 10 AppKit 0x00007fff8b3c7623 -[NSCompositeAppearance _callCoreUIWithBlock:options:] + 226 11 AppKit 0x00007fff8aa74a9d -[NSAppearance _createOrUpdateLayer:options:] + 76 12 AppKit 0x00007fff8aced143 -[NSScrollerImp _animateToRolloverState] + 274 13 AppKit 0x00007fff8acacb79 __49-[NSScrollerImp _installDelayedRolloverAnimation]_block_invoke + 673 14 AppKit 0x00007fff8ab73331 -[NSScrollerImp _doWork:] + 15 15 Foundation 0x00007fff8e770c88 __NSFireDelayedPerform + 417 16 CoreFoundation 0x00007fff8cd11e14 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20 17 CoreFoundation 0x00007fff8cd11a9f __CFRunLoopDoTimer + 1071 18 CoreFoundation 0x00007fff8cd115fa __CFRunLoopDoTimers + 298 19 CoreFoundation 0x00007fff8cd09021 __CFRunLoopRun + 2065 20 CoreFoundation 0x00007fff8cd085b4 CFRunLoopRunSpecific + 420 21 Tcl 0x0000000101834b43 Tcl_WaitForEvent + 314 22 Tcl 0x00000001018045cd Tcl_DoOneEvent + 274 23 Tk 0x0000000101672f4f Tk_MainLoop + 33 24 Tk 0x000000010167ea5b Tk_MainEx + 1566 25 Wish 0x0000000101658542 Wish + 9538 26 libdyld.dylib 0x00007fffa1d48255 start + 1 ) libc++abi.dylib: terminating with uncaught exception of type NSException error: git-gui died of signal 6Czy ktoś ma ten sam problem i rozwiązanie?
14 answers
Zamiast domyślnego MacOS tcl-tk
, Użyj najnowszego tcl-Tk (8.6.6) z Homebrew, a następnie połącz go siłą, na przykład:
brew install tcl-tk
brew link tcl-tk --force
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-17 21:14:13
Jest problem z Tk 8.5 na MacOS Sierra. Możesz zastąpić Tk Wish 8.5 Tk Wish 8.4
cp /System/Library/Frameworks/Tk.framework/Versions/8.4/Resources/Wish.app/Contents/MacOS/Wish /usr/local/Cellar/git/2.10.1/share/git-gui/lib/Git\ Gui.app/Contents/MacOS/
Źródło: https://github.com/git/git-scm.com/issues/853
UPD: zwróć uwagę, aby zastąpić wersję git w ścieżce cp
bieżącą wersją
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-01 15:42:15
Spróbuj:
git config --local --unset gui.geometry
Ten błąd występuje ze względu na to, że Tk Geometry manager nie działa, ze względu na starszą wersję lub jeśli jest uszkodzony.
Jeśli powyższe polecenie nie zadziałało spróbuj zaktualizować swój xcode:
xcode-select --install
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-12 06:46:09
Moje rozwiązanie powinno działać dla git download z https://git-scm.com/
brew install homebrew/dupes/tcl-tk
Cd do /usr/local/git/share/git-gui/lib/Git Gui.app/Contents/MacOS
i kopia zapasowa oryginalnego życzenia
cp /usr/local/Cellar/tcl-tk/8.6.6/bin/wish8.6 /usr/local/git/share/git-gui/lib/Git Gui.app/Contents/MacOS/Wish
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-02 07:49:59
Zebrałem kilka odpowiedzi stąd razem, ponieważ używam GIT i TCL via brew
:
cd "/usr/local/Cellar/git/2.10.2/share/git-gui/lib/Git Gui.app/Contents/MacOS"
mv Wish Wish.bkp
ln -vs /usr/local/Cellar/tcl-tk/8.6.6/bin/wish8.6 Wish
Z czasem oczywiście numery wersji mogą się różnić
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-17 21:16:47
Aktualizacja do macOS 10.12.2 rozwiązuje problem.
Bibliografia:
- https://github.com/git/git-scm.com/issues/853#issuecomment-268266122
- osobiste doświadczenie
Brak wglądu dlaczego z dziennika zmian Apple: https://support.apple.com/en-us/HT207307 .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-24 14:13:24
Za pełne rozwiązanie problemu uważam następujące cele:]}
-
"Nuke from orbit" pewność w rozwiązaniu tego w schludny i liniowy sposób
-
Nie kończ z brzydkimi czcionkami ze starszej wersji Apple Tcl / Tk
-
Oddzielenie interfejsu git od dostarczonego przez Apple Tcl / Tk
- polegaj na Homebrew dla Twojej instalacji Tcl / Tk
Poniżej znajdziesz krok po kroku, aby osiągnąć to:
-
Pobierz duplikowany Tcl / Tk z Homebrew
brew install tcl-tk
-
Dodaj niedziałającą instalację Tcl / Tk do ścieżki(ścieżek) przed uszkodzoną implementacją Apple
- zakłada to, że ścieżki Homebrew mają pierwszeństwo przed ścieżkami systemowymi Tak powinno być w przypadku normalnej instalacji Homebrew]}
- to się nie powiedzie, jeśli masz sprzeczne pliki z innymi zainstalowanymi przepisami homebrew
- na przykład
the_platinum_searcher
zapewniapt
, które konfliktują -
Polecam ripgrep do obejścia tej sprawy
brew link --force tcl-tk
-
Napraw instalację gitk przez ponowną instalację w wersji Nonbroken Homebrew
-
To może nie być konieczne, ale ref. pierwszy podany powyżej cel
brew reinstall git
-
To może nie być konieczne, ale ref. pierwszy podany powyżej cel
-
Skopiuj nowy plik binarny wish z instalacji Homebrew Tcl / Tk nad zepsutym pakietem z Apple w Gui Git.aplikacja bundle
-
To ślepo opiera się na ouput
homebrew info <package>
, aby nie zmienićcp "$(which wish)" "$(brew info git | grep Cellar | cut -d' ' -f1)/share/git-gui/lib/Git Gui.app/Contents/MacOS/Wish"
-
Ostatni bit może być mądry, aby dodać alias do twojego ~/.bashrc
i / lub odpowiednika, ponieważ będzie musiał być powtarzany za każdym razem, gdy otrzymasz nową wersję git z Homebrew.
alias fix-gitgui='cp "$(which wish)" "$(brew info git | grep Cellar | cut -d" " -f1)/share/git-gui/lib/Git Gui.app/Contents/MacOS/Wish"'
Nie jestem do końca pewien, dlaczego cytowanie znaku ogranicznika pola dla cięcia użytego powyżej działa, więc używaj tego aliasu z ostrożnością, ponieważ może to bardzo dobrze zależeć od dokładnego wersja bash.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-21 11:15:17
U mnie działa: Pobierz i zainstaluj najnowszą wersję TCL (użyłem 8.6.4) http://www.activestate.com/activetcl/downloads
Pobrałem i zainstalowałem najnowszą wersję (2.10.1) git https://git-scm.com/
Sprawdź, czy okno gitk nie zawiesza się po zmianie rozmiaru.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-15 02:41:07
@Sbondaryev 's answer (39966704) nie działa dla mnie i jeszcze nie próbowałem @ ssahu' s (40119030). Jednak trick, który tutaj opisuję, wypadał dla mnie znacznie rzadziej (około 10% czasu). I powstrzymuje mnie to od zbytniego wygłupiania się z rzeczami-mam nadzieję, że problem zostanie wkrótce naprawiony prawidłowo.
- upaść wydawała się mieć miejsce podczas zmiany rozmiaru okna (90% czasu). Ale stwierdziłem, że jest zbyt mały, aby pracować z nim i chciałem zmienić jego rozmiar.
vi .git/config
- edytuj
GUI geography
, aby utworzyć rozmiar okna, który działa. Nadal trzymałem go mały, choć podejrzewam, że będzie rozmiar, nad którym upaść zawsze się wydarzy
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-28 03:39:24
Mój Sierra (uaktualniony z 10.11.6) mA Prąd Tcl / Tk wskazujący na 8.5 i zauważyłem ten sam błąd po aktualizacji, z naszym programem Pythona używającym Tkinter. Nie używam życzeń. Nie miałem pomocy z Pythona 2.7 32bit instalacji związanej z Tcl / Tk 8.4, ponieważ ten nie miał "tile". Więc zaparzyłem Pythona, łącząc go z Tcl / Tk 8.6:
To jest dla brew, aby używać wstępnie skompilowanych butelek zamiast budować ze źródeł, chyba że wyraźnie zalecono inaczej, więc tak naprawdę nie powodując wydanie:
xcode-select --install
Następnie zainstaluj Tcl/Tk:
brew install homebrew/dupes/tcl-tk
Jeśli nie zainstalowałeś Pythona oryginalnie za pomocą -- with-tcl-tk, to:
brew uninstall python
Wreszcie:
brew install python --with-tcl-tk
Po tym mam Pythona, który jest połączony z Tcl / Tk 8.6 i wygląda na to, że pozbyłem się błędu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-19 14:33:54
Po wielu trudnościach To rozwiązanie rozwiązuje mój problem:
$ brew upgrade tcl-tk
Jeśli jest to aktualne i to nie działa, spróbuj:
$ brew uninstall tcl-tk
$ brew install tcl-tk
Próbowałem wszystkich rozwiązań w sieci, ale tylko to rozwiązuje problem. Zdrowie!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-15 11:26:03
Zostało to rozwiązane w najnowszych łatach do systemu MacOS Sierra (10.12.2 i nowszych) i nie ma potrzeby podejmowania dalszych działań.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-17 21:27:09
Na High Sierra (10.13) miałem ten sam problem z gui git.
Rozwiązałem problem aktualizując git z 2.7.0 do 2.14.2
brew upgrade git
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-18 13:04:04
A fix that worked for me: disconnect second monitor, open git gui
-> works, close it, reconnect the second monitor and run git gui
- > works again:)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-14 08:27:49