Wydanie kontroli źródła Git 2.40

Po trzech miesiącach prac wypuszczono rozproszony system kontroli źródła Git 2.40. Git to jeden z najpopularniejszych, niezawodnych i wydajnych systemów kontroli wersji, zapewniający elastyczne narzędzia do nieliniowego programowania oparte na rozgałęzianiu i łączeniu. Aby zapewnić integralność historii i odporność na zmiany wsteczne, w każdym zatwierdzeniu stosowane jest ukryte haszowanie całej poprzedniej historii, możliwe jest także certyfikowanie poszczególnych tagów i zatwierdzeń cyfrowymi podpisami programistów.

W porównaniu do poprzedniej wersji, nowa wersja zawierała 472 zmiany, przygotowane przy udziale 88 programistów, z czego 30 brało udział w tworzeniu po raz pierwszy. Główne innowacje:

  • Skrypt git-jump dodał obsługę edytora Emacsa, oprócz wcześniej obsługiwanego edytora Vima. Git-jump służy do wysyłania informacji o pozycjach w pliku do edytora tekstu w celu szybkiej nawigacji i przejścia do edycji kodu w określonym miejscu. Na przykład git-jump może zostać użyty do przeskakiwania w edytorze pomiędzy liniami wynikającymi z analizowania konfliktów scalania, oceniania różnic i wykonywania wyszukiwań (możesz wykonać polecenie „git jump grep foo”, a następnie szybko przeskakiwać pomiędzy pozycjami, w których znajduje się symbol wieloznaczny „foo” występuje).
  • Plik „git cat-file” zapewnia obsługę opcji „-s” i „--batch-check” wraz z „--use-mailmap” w celu prawidłowego określenia rozmiaru obiektu, biorąc pod uwagę wymianę identyfikatora na podstawie powiązania e-mail określone w pliku mailmap (poprzednio opcja „--use-mailmap” miała wpływ tylko na wynik treści, ale nie brała pod uwagę, że stare i zastąpione pary nazwa/adres e-mail mogą mieć różne rozmiary).
  • Do polecenia „git check-attr” dodano opcję „--source” umożliwiającą wybranie drzewa z niezbędnym plikiem „.gitattributes”, który zostanie wykorzystany do określenia rzeczywistych atrybutów w przypadku kilku plików „.gitattributes” w repozytorium.
  • Implementacja polecenia „git bisect” została przepisana w języku C i wbudowana w główny plik wykonywalny git (poprzednio polecenie było implementowane w formie skryptu Shell).
  • Stara implementacja powłoki powłoki dla polecenia „git add —interactive” została usunięta (w git 2.26 oferowana była wbudowana wersja C, ale stara implementacja powłoki pozostała dostępna i była regulowana przez ustawienie add.interactive.useBuiltin).
  • Dodano opcję „--merge-base” do polecenia „git merge-tree”.
  • Dodano opcję „--abbrev=" do polecenia „git range-diff”. "
  • Dodano możliwość zastąpienia edytora list dla trybu interaktywnego polecenia rebase poprzez ustawienie zmiennej GIT_SEQUENCE_EDITOR za pomocą polecenia „git var”, podobnie jak „git var GIT_EDITOR”.
  • Do podsystemu kont dodana została obsługa haseł z ograniczonym okresem ważności.
  • Skrypty uzupełniania danych wejściowych dla Bash mają teraz tryb nieuwzględniający wielkości liter.

Źródło: opennet.ru

Dodaj komentarz