Izdanje distribuiranog sustava kontrole izvora Git 2.27

Dostupno izdanje distribuiranog sustava kontrole izvora Git 2.27.0. Git je jedan od najpopularnijih, pouzdanih i visokoučinkovitih sustava za kontrolu verzija, koji pruža fleksibilne nelinearne razvojne alate temeljene na grananju i spajanju. Kako bi se osigurala cjelovitost povijesti i otpornost na retroaktivne promjene, implicitno hashiranje cijele prethodne povijesti koristi se u svakom predanju; također je moguće certificirati pojedinačne oznake i predaje digitalnim potpisima programera.

По сравнению с прошлым выпуском в новую версию принято 537 изменений, подготовленных при участии 71 разработчика, из которых 19 впервые приняли участие в разработке. Основные inovacije:

  • Отменено реализованное в прошлом выпуске включение по умолчанию второй версии коммуникационного протокола Git, который используется при удалённом подключении клиента к Git-серверу. Протокол признан пока не готовым к использованию по умолчанию из-за выявления скользких моментов, требующих отдельного рассмотрения.
  • Добавлен набор опций для настройки SSL-соединения при обращении через прокси.
  • Расширена информация, выдаваемая при использовании преобразующих фильтров «clean» и «smudge». Например, теперь показывается объект tree-ish, в котором появляется преобразуемый блоб.
  • Для избежания путаницы в команде «git describe» теперь всегда применяется расширенный режим вывода («—long»), если выявлен связанный с коммитом заменённый тег (раньше, подписанный или аннотированный тег, описывающий коммит, выводился даже если он был переименован или перемещён в иерархии «refs/tags/», и команда «git show тег^0» не работала как ожидалось — «refs/tags/тег» не находился или даже выдавался уже другой тег).
  • При выполнении «git pull» теперь выдаётся предупреждение, если явно не задана конфигурационная переменная pull.rebase и не применены опции «—[no-]rebase» или «—ff-only». Для подавления предупреждения теми, кто не собирается выполнять операцию rebase, можно установить переменной значение «false».
  • Проведена ревизия опций «git pull», общих с «git fetch». Документированы ранее не упомянутые подобные опции и обеспечена передача в «git fetch» пропущенных опций.
  • В команду «git rebase» добавлена опция «—no-gpg-sign» для переопределения настройки «commit.gpgSign».
  • В «git format-patch» добавлена возможность отображения заголовков «From:» и «Subject:» в неизменном виде, без преобразования символов, отсутствующих в кодировке ASCII.
  • В «git log» добавлена опция «—show-pulls», позволяющая просмотреть не только коммиты в которых было выполнено изменения, но и коммит для слияния этих изменений из отдельной ветки.
  • Унифицирована обработка интерактивного ввода во всех компонентах и добавлен вызов fflush() после показа приглашения ввода, но перед операцией чтения.
  • В «git rebase» разрешено без предварительного выполнения операции «checkout» повторно применить все локальные коммиты, даже если некоторые из них ранее были переданы в upstream.
  • Значение конфигурационной переменной ‘pack.useSparse’ заменено на ‘true’ для включения по умолчанию оптимизаций, ранее преподносимых как экспериментальные.
  • В «git merge» добавлена опция «—autostash».
  • Улучшен интерфейс «sparse-checkout».
  • В «git update-ref —stdin» добавлено несколько новых действий,
    позволяющих напрямую контролировать транзакции обновления ссылок, например, для реализации двухэтапного атомарного обновления ссылок в нескольких репозиториях.

  • Добавлены шаблоны userdiff для документов Markdown.
  • Убрано ограничение на исключение всех путей в шаблонах sparse-checkout, приводящих к пустому рабочему дереву.
  • Операция «git restore —staged —worktree» теперь по умолчанию использует содержимое из ветки «HEAD», вместо вывода ошибки.
  • Nastavljen je rad na prijelazu na algoritam za raspršivanje SHA-2 umjesto SHA-1.
  • Переработан код для взаимодействия с GnuPG.

Izvor: opennet.ru

Dodajte komentar