Wydano Git 2.53 z nowymi kontrolami konserwacyjnymi i szybszymi ścieżkami różnic
Git 2.53 wprowadza funkcję konserwacyjną „is-needed”, rozszerza narzędzia repozytorium i dostarcza usprawnienia wydajności w różnicach, pakietach i wewnętrznych strukturach bazy obiektów.
Ponad dwa miesiące po poprzednim wydaniu 2.52, Git, rozproszony system kontroli wersji i fundament rozwoju oprogramowania, pomagający programistom efektywnie zarządzać zmianami w ich kodzie w różnych projektach, właśnie wydał wersję 2.53.
Jednym z bardziej widocznych dodatków jest nowa podkomenda git maintenance is-needed. Pozwala ona użytkownikom i narzędziom określić, czy rzeczywiście potrzebne są zadania konserwacyjne, takie jak przepakowywanie czy optymalizacja referencji, co pomaga unikać niepotrzebnej pracy w tle w repozytoriach, które są już w dobrym stanie.
Co więcej, eksperymentalne polecenie git replay teraz samo aktualizuje odwołania przy użyciu jednej transakcji domyślnie, zamiast wysyłać aktualizacje refów do zastosowania przez inne polecenie. Wersja 2.53 poprawia również komunikaty o błędach, dokumentację i pokrycie testami, zwłaszcza w zakresie obsługi rewizji i nieprawidłowych argumentów.
Kilka codziennych poleceń otrzymuje również stopniowe ulepszenia. git blame teraz obsługuje wybór algorytmu różnic, dając użytkownikom większą kontrolę nad tym, jak zmiany są przypisywane w kolejnych wersjach.
Zarówno git apply, jak i git diff wprowadzają nową klasę błędów związanych z białymi znakami dla niekompletnych linii, co sprawia, że takie problemy są bardziej widoczne i konsekwentnie obsługiwane w całym narzędziu. Rozszerzono również polecenia służące do przeglądania repozytorium, dodając nowe opcje dla git repo info oraz bardziej rozbudowany wynik z git repo structure, w tym dodatkowe szczegóły dotyczące bazy obiektów.
Pod maską spora część pracy skupia się na wydajności i strukturze wewnętrznej. Operacje różnic (diff) korzystają z optymalizacji, takich jak wyłączanie wykrywania zmian nazw i kopiowania przy uruchamianiu git diff --quiet, gdzie liczy się jedynie obecność zmian.
Na dodatek zużycie pamięci zostało zmniejszone w kosztownych ścieżkach wykrywania duplikatów, a prace nad refaktoryzacją wciąż trwają w obszarze bazy obiektów, obsługi plików pakietów i interfejsów API do strumieniowania.
Wreszcie, Git 2.53 wprowadza dalsze wsparcie dla symbolicznych linków w systemie Windows, wraz z przygotowaniem zestawu testów i licznymi poprawkami w warstwie kompatybilności MinGW. Na macOS Git teraz omija długo istniejące problemy w dostarczanej przez system implementacji iconv, zamiast jej całkowicie zastępować.
Jak zwykle, wydanie kończy się długą listą poprawek dotyczących awarii, błędnie wyświetlanych wyników związanych ze ścieżkami nie-ASCII, przypadków granicznych przy scalaniu, błędów konfiguracji i pomyłek w dokumentacji. Aby uzyskać więcej informacji o wszystkich zmianach w Git 2.53, zapoznaj się z ogłoszeniem o wydaniu.
