[...] aber git bleibt zu 70% in der " Unpacking objects
" Phase stecken , ohne Anzeichen dafür, irgendwohin zu gehen
Mit Git 2.25 (Q1 2020) wurde " git unpack-objects
" verwendet, um den Fortschritt nur basierend auf der Anzahl der empfangenen und entpackten Objekte anzuzeigen, die ins Stocken geraten sind, wenn ein ungewöhnlich großes Objekt verarbeitet werden muss.
Es zeigt jetzt auch den Durchsatz an .
Siehe commit bae60ba (19. November 2019) von SZEDER Gábor ( szeder
) .
(Zusammengeführt von Junio C Hamano - gitster
- in Commit cf91c31 , 05. Dezember 2019)
Unterzeichnet von: SZEDER Gábor
'git entpacken-Objekte' zeigt eine Fortschrittszeile, die nur die Anzahl der entpackten Objekte zählt. Wenn also einige der empfangenen Objekte ungewöhnlich groß sind, scheint dieser Fortschritt während der Verarbeitung eines so größeren Objekts eingefroren zu sein.
Ich starrte nur über eine halbe Minute lang auf eine scheinbar festgefahrene Fortschrittslinie, während ' git fetch
' damit beschäftigt war, eine Packung mit nur ein paar Objekten (dh weniger als ' fetch.unpackLimit
') zu erhalten, von denen eines über 80 MB groß war.
Zeigen Sie den Durchsatz in der git unpack-objects
Fortschrittszeile an, damit wir zeigen, dass auch beim Empfangen und Verarbeiten eines großen Objekts etwas los ist.
Das Zählen der verbrauchten Bytes ist weit entfernt von dem Ort, an dem Objekte gezählt und der Fortschritt angezeigt werden. Um die ' struct progress
' Instanz zu umgehen, müssten wir die Signatur von fünf Funktionen und 14 ihrer Aufrufseiten ändern: Dies ist einfach zu viel Abwanderung Machen Sie den Dateibereich lieber statisch.
' git index-pack
', dh der nicht entpackende Cousin von ' git unpack-objects
' enthält bereits den Durchsatz in seiner Fortschrittszeile und verwendet auch eine statische ' struct progress
' Instanz im Dateibereich .