Git 2.41 został już wydany i to są jego nowości

Git 2.41

Git 2.41 wprowadza ulepszenia w obsłudze repozytoriów

Po trzech miesiącach rozwoju, wydanie nowej wersji rozproszony system kontroli źródła Gita 2.41. W porównaniu z poprzednią wersją, Zaakceptowano 542 zmiany w nowej wersji, przygotowanej przy udziale 95 deweloperów, z czego 29 brało udział w tworzeniu po raz pierwszy.

Ci, którzy nie znają Git, powinni to wiedzieć jest jednym z najpopularniejszych systemów kontroli wersji, niezawodne i wydajne oprogramowanie, które zapewnia elastyczne nieliniowe narzędzia programistyczne oparte na forkach i ich łączeniu.

Najważniejsze cechy Git 2.41

W tej nowej wersji to się wyróżnia obsługa „nieosiągalnych” obiektów została ulepszona te, które nie zostały wymienione w repozytorium (brak odniesienia do gałęzi lub tagów). Moduł wyrzucania elementów bezużytecznych usuwa obiekty, ale pozostają one w repozytorium przez pewien czas, zanim zostaną usunięte, aby uniknąć warunków wyścigu.

Aby śledzić okres obiektów, należy do nich dołączyć znaczniki z czasem zmiany podobnych obiektów, co nie pozwala na przechowywanie ich w pliku pakietu, w którym wszystkie obiekty mają wspólny czas zmiany.

Wcześniej każdy obiekt był przechowywany w osobnym pliku, co powodowało problemy w przypadku dużej liczby nowych obiektów, które nie podlegały jeszcze usunięciu. W nowej wersji Cruft Packs domyślnie służą do pakowania przedmiotów «nieosiągalny", co pozwala przechowywać wszystkie obiekty w pliku pakietu i odzwierciedlać dane o czasie modyfikacji każdego obiektu w osobnej tabeli zapisanej w pliku z rozszerzeniem ".mtimes" i połączonej plikiem indeksu z rozszerzeniem ".idx ".

Kolejną zmianą, która wyróżnia się w tej nowej wersji, jest to konserwacja revindex na dysku jest włączona dla plików pakietów. Podczas testowania na repozytoriach Torvalds/Linux wspomina się o użyciu odwrotnego indeksu dozwolone, aby przyspieszyć operacje git push które zużywają dużo zasobów w 1,49 raza, oraz proste operacje, takie jak obliczanie rozmiaru pojedynczego obiektu za pomocą „git cat-file –batch='%(objectsize:disk) „” 77 razy.

Odwrotny indeks zawarty w nowej wersji ma na celu usprawnienie procesu ustalania identyfikacji obiektu z informacji o położeniu obiektu w pliku pakietu. Operacja budowania indeksu sprowadza się do zbudowania tablicy par „pozycji obiektu” i posortowania ich według pozycji, co w przypadku dużych plików pakietów może być czasochłonne.

Na przykład operacja wyświetlania zawartości obiektów, która wykorzystuje bezpośredni indeks, była 62 razy szybsza niż operacja wyświetlania rozmiaru obiektów, dla których dane wiązania obiektów nie zostały zindeksowane. Po zastosowaniu indeksu odwrotnego operacje te zaczęły trwać mniej więcej w tym samym czasie. Odwrotne indeksy pozwalają również przyspieszyć operację wysyłania obiektów poprzez wykonywanie poleceń pobierania i wysyłania poprzez bezpośrednie przesyłanie przygotowanych danych z dysku.

Podkreśla się również, że w Git 2.41 dodano obsługę przekazywania nagłówków WWW-Authenticate między programem obsługi poświadczeń a usługą uwierzytelniania do protokołu „pomocnika poświadczeń”, który jest używany do przekazywania poświadczeń podczas uzyskiwania dostępu do repozytoriów z ograniczeniami. Zgodność z nagłówkiem WWW-Authenticate umożliwia przekazywanie parametrów zakresu OAuth do oddzielnego dostępu użytkownika w bardziej szczegółowy sposób do repozytoriów i rozgraniczyć zakresy dostępne dla żądań.

z inne zmiany, które się wyróżniają nowej wersji:

  • Dodano opcję formatowania „%(przed-za: )» na polecenie dla-każdego-ref., który pozwala uzyskać natychmiastowe informacje o liczbie zatwierdzeń obecnych lub brakujących w określonej gałęzi, w stosunku do innej gałęzi.
  • Dodano opcję «-porcelana» na polecenie "git fetch", który generuje dane wyjściowe w formacie « », mniej czytelny, ale wygodniejszy do analizowania w skryptach.
  • Konfiguracja dodana "pobierz.ukryj odnośniki" w celu przyspieszenia operacjipobierz git» ukrywanie części referencji w lokalnym repozytorium na etapie sprawdzania, czy serwer wysłał pełny zestaw obiektów, co pozwala zaoszczędzić czas poprzez ograniczenie sprawdzenia tylko do serwerów, z których dane są bezpośrednio pobierane.
    Komenda "git fsck» implementuje możliwość sprawdzania uszkodzeń, dopasowywania sum kontrolnych i sprawdzania poprawności wartości map bitowych dostępności i odwrotnych indeksów.
  • Komenda "git klon --lokalny" teraz pokazuje błąd podczas próby kopiowania z repozytorium zawierającego dowiązania symboliczne wewnątrz $GIT_DIR.

Na koniec, jeśli chcesz dowiedzieć się więcej na ten temat, możesz zapoznać się ze szczegółami W poniższym linku.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.