Git 2.53

2 lutego zaprezentowano wydanie rozproszonego systemu zarządzania tekstami źródłowymi Git 2.53.

Git wyróżnia się wysoką wydajnością i oferuje narzędzia do nieliniowego rozwoju, oparte na rozgałęzianiu i łączeniu gałęzi. Aby zapewnić integralność historii i odporność na zmiany «z przeszłości», stosowane jest niejawne haszowanie całej wcześniejszej historii w każdym commicie oraz uwierzytelnianie cyfrowymi podpisami deweloperów poszczególnych tagów i commitów. Kod Git rozpowszechniany na licencji GPLv2+.

W porównaniu do poprzedniej wersji, do nowej edycji zaakceptowano 466 zmian przygotowanych przy udziale 70 deweloperów (21 uczestniczyło w rozwoju Git po raz pierwszy). Główne nowości:

  • Dodano możliwość zastosowania strategii pakowania repozytoriów geometric (git repack --geometric) do częściowo sklonowanych zewnętrznych repozytoriów działających w trybie promisor (brakujące obiekty są ładowane w razie potrzeby). Przy ponownym pakowaniu z opcjami --geometric pliki pakietów z rozszerzeniem .promisor są przetwarzane i pakowane osobno. Strategia geometric pozwala na skrócenie czasu obsługi dużych monorepozytoriów poprzez selektywne ponowne pakowanie obiektów oraz wyeliminowanie zbędnych operacji wymagających dużych zasobów, takich jak łączenie wszystkich plików pakietów (zachowuje geometryczny postęp wielkości plików pakietów, w którym każdy kolejny plik pakietu powinien być co najmniej dwa razy większy od poprzedniego).
  • Do zespołu git fast-import dodano opcję --signed-commits=strip-if-invalid do usuwania cyfrowych podpisów z importowanych obiektów, które stały się nieprawidłowe po przepisaniu części historii repozytorium. Wcześniej można było albo importować, albo usunąć wszystkie podpisy, bez rozróżnienia na ważne i bezsensowne. Opcja strip-if-invalid umożliwia wdrażanie narzędzi do zachowania ważnych podpisów i ponownego podpisywania obiektów z utraconymi znaczeniem podpisami.
  • W wyjściu polecenia git repo structure dodano informacje o rozmiarze wszystkich osiągalnych obiektów (reachable) w repozytorium z podziałem na ich typy. Informacje są teraz wyświetlane w czytelnej formie z jednostkami miary i pokazywane osobno dla rzeczywistego i zajmowanego na dysku rozmiaru, co pozwala ocenić całkowity rozmiar repozytorium na dysku:

$ git repo structure | Struktura repozytorium | Wartość | | ——————— | ———- | | * Referencje | | | * Liczba | 1.78 k | | * Gałęzie | 5 | | * Tagi | 1.03 k | | * Zdalne | 749 | | * Inne | 0 | | | | | * Obiekty osiągalne | | | * Liczba | 421.37 k | | * Commits | 88.03 k | | * Trees | 169.95 k | | * Bloby | 162.40 k | | * Tagi | 994 | | * Rozmiar popełniony | 7.61 GiB | | * Commits | 60.95 MiB | | * Trees | 2.44 GiB | | * Bloby | 5.11 GiB | | * Tagi | 731.73 KiB | | * Rozmiar na dysku | 301.50 MiB | | * Commits | 33.57 MiB | | * Trees | 77.92 MiB | | * Bloby | 189.44 MiB | | * Tagi | 578.13 KiB |

  • Do zespołu git maintenance dodano podkomendę is-needed, aby wykonywać operacje konserwacyjne repozytorium tylko wtedy, gdy jest to konieczne.
  • W eksperymentalnym zespole git replay domyślnie wdrożono aktualizację referencji w transakcji, zamiast pokazywać, dokąd powinny wskazywać referencje, bez ich aktualizacji.
  • Do zespołu git blame dodano możliwość wyboru algorytmu oceny różnic za pomocą opcji —diff-algorithm=.
  • Do zespołu git repo info dodano opcję —all.
  • Z Git-for-Windows przeniesiono wsparcie dla symbolicznych linków na platformie Windows.

Do zespołu poprzedniego wydania dodano ostrzeżenie włączenie domyślnie budowy komponentów w języku Rust w Git 2.53. Niemniej jednak, w faktycznie wydaniu Git 2.53 jedynie dodano niektóre poprawki wsparcia dla Rust (możliwość kompilacji bez GNU sed), ale kompilacja z Rust przy użyciu Makefile pozostaje domyślnie wyłączona (wymaga ustawienia flagi WITH_RUST), a przy użyciu Meson automatycznie aktywuje się przy obecności kompilatora rustc. W wersji Git 3.0 narzędzia Rust zamierzają dodać do koniecznych zależności do kompilacji.

Źródło: linux.org.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster