Wydanie rozproszonego systemu kontroli źródła Git 2.27

Do dyspozycji wydanie rozproszonego systemu kontroli źródła Git 2.27.0. Git to jeden z najpopularniejszych, niezawodnych i wydajnych systemów kontroli wersji, który zapewnia elastyczne nieliniowe narzędzia programistyczne oparte na rozgałęzianiu i łączeniu gałęzi. Aby zapewnić integralność historii i odporność na zmiany wsteczne, w każdym zatwierdzeniu stosowany jest niejawny hasz całej poprzedniej historii, możliwa jest również weryfikacja poszczególnych tagów i zatwierdzeń za pomocą podpisów cyfrowych od programistów.

W porównaniu do poprzedniej wersji, nowa wersja zawierała 537 zmian, przygotowanych przy udziale 71 programistów, z czego 19 brało udział w tworzeniu po raz pierwszy. Podstawowy innowacje:

  • Domyślne włączenie zaimplementowane w poprzedniej wersji zostało przywrócone druga wersja Protokół komunikacyjny Git, który jest używany, gdy klient zdalnie łączy się z serwerem Git. Protokół domyślnie uznaje się za jeszcze nie gotowy do użycia ze względu na identyfikację niepewnych kwestii, które wymagają osobnego rozważenia.
  • Dodano zestaw opcji konfigurowania połączenia SSL podczas uzyskiwania dostępu przez serwer proxy.
  • Rozszerzono informacje wyświetlane podczas korzystania z filtrów transformacji „wyczyść” i „smużenie”. Na przykład obiekt jest teraz pokazany drzewiaste, w którym pojawia się obiekt BLOB do przekonwertowania.
  • Aby uniknąć nieporozumień, polecenie „git opis” teraz zawsze używa rozszerzonego trybu wyjściowego („--long”), jeśli zostanie zidentyfikowany zastąpiony znacznik powiązany z zatwierdzeniem (poprzednio wyświetlany był znacznik z podpisem lub adnotacją opisujący zatwierdzenie, nawet jeśli był zmieniono nazwę lub przeniesiono w hierarchii „refs/tags/”, a polecenie „git show tag^0” nie zadziałało zgodnie z oczekiwaniami - nie znaleziono „refs/tags/tag” lub nawet zwrócono inny tag).
  • Podczas wykonywania polecenia „git pull” wyświetlane jest teraz ostrzeżenie, chyba że zmienna konfiguracyjna pull.rebase jest jawnie ustawiona i opcje „--[no-]rebase” lub „-ff-only” nie są używane. Aby pominąć ostrzeżenie dla tych, którzy nie zamierzają wykonywać operacji zmiany bazy, zmienną można ustawić na wartość false.
  • Przeanalizowano opcje „git pull” wspólne dla „git fetch”. Wcześniej niewymienione podobne opcje są udokumentowane, a brakujące opcje są przekazywane do git fetch.
  • Do polecenia „git rebase” dodano opcję „--no-gpg-sign” w celu zastąpienia ustawienia „commit.gpgSign”.
  • Dodano możliwość „git format-patch”, aby wyświetlić nagłówki „From:” i „Subject:” w niezmienionej postaci, bez konwersji znaków innych niż ASCII.
  • Do „git log” dodano opcję „-show-pulls”, umożliwiającą przeglądanie nie tylko zatwierdzeń, w których dokonano zmian, ale także zatwierdzeń dotyczących scalania tych zmian z osobnej gałęzi.
  • Ujednolicono interaktywną obsługę wprowadzania danych we wszystkich komponentach i dodano wywołanie fflush() po wyświetleniu monitu o wprowadzenie danych, ale przed operacją odczytu.
  • „git rebase” pozwala na ponowne zastosowanie wszystkich lokalnych zatwierdzeń bez uprzedniego wykonywania operacji „checkout”, nawet jeśli niektóre z nich zostały wcześniej przesłane.
  • Wartość zmiennej konfiguracyjnej „pack.useSparse” została zmieniona na „true”, aby włączyć optymalizacje, które wcześniej były domyślnie reklamowane jako eksperymentalne.
  • Dodano opcję „--autostash” do „git merge”.
  • Ulepszony interfejs „rzadkiej kasy”.
  • Dodano kilka nowych akcji do „git update-ref --stdin”,
    umożliwiając bezpośrednią kontrolę transakcji aktualizacji łączy, na przykład w celu wdrożenia dwuetapowej atomowej aktualizacji łączy w wielu repozytoriach.

  • Dodano szablony userdiff dla dokumentów Markdown.
  • Usunięto ograniczenie wykluczające wszystkie ścieżki w szablonach z rzadkim pobieraniem, które powodują puste drzewo robocze.
  • Operacja „git recovery --staged --worktree” domyślnie używa teraz zawartości gałęzi „HEAD” zamiast zgłaszać błąd.
  • Kontynuowano prace nad przejściem na algorytm haszujący SHA-2 zamiast SHA-1.
  • Kod interakcji z GnuPG został przerobiony.

Źródło: opennet.ru

Dodaj komentarz