Lansarea sistemului de control al surselor distribuite Git 2.27

Disponibil lansarea unui sistem distribuit de control al sursei git 2.27.0. Git este unul dintre cele mai populare, fiabile și de înaltă performanță sisteme de control al versiunilor, oferind instrumente flexibile de dezvoltare neliniară bazate pe ramificare și îmbinare. Pentru a asigura integritatea istoriei și rezistența la modificări retroactive, în fiecare commit este utilizat hashing implicit al întregului istoric anterior; de asemenea, este posibilă certificarea etichetelor individuale și commit-urilor cu semnăturile digitale ale dezvoltatorilor.

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

  • Отменено реализованное в прошлом выпуске включение по умолчанию a doua versiune коммуникационного протокола Git, который используется при удалённом подключении клиента к Git-серверу. Протокол признан пока не готовым к использованию по умолчанию из-за выявления скользких моментов, требующих отдельного рассмотрения.
  • Добавлен набор опций для настройки SSL-соединения при обращении через прокси.
  • Расширена информация, выдаваемая при использовании преобразующих фильтров «clean» и «smudge». Например, теперь показывается объект copac, в котором появляется преобразуемый блоб.
  • Для избежания путаницы в команде «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», вместо вывода ошибки.
  • Продолжена работа по переходу на алгоритм хеширования SHA-2 вместо SHA-1.
  • Переработан код для взаимодействия с GnuPG.

Sursa: opennet.ru

Adauga un comentariu