Выпуск системы управления исходными текстами Git 2.33

После двух месяцев разработки опубликован выпуск распределенной системы управления исходными текстами Git 2.33. Git является одной из самых популярных, надёжных и высокопроизводительных систем управления версиями, предоставляющей гибкие средства нелинейной разработки, базирующиеся на ответвлении и слиянии веток. Для обеспечения целостности истории и устойчивости к изменениям “задним числом” используются неявное хеширование всей предыдущей истории в каждом коммите, также возможно удостоверение цифровыми подписями разработчиков отдельных тегов и коммитов.

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

  • В команду “git send-email” добавлена опция “–sendmail-cmd” и настройка “sendemail.sendmailCmd”, при помощи которых можно определить команду для взаимодействия с SMTP-сервером при отправке писем.
  • Для команды “git rev-list” реализована опция “–no-commit-header”, при указании которой не производится показ заголовка “commit “, что упрощает использование вывода в скриптах.

  • В шаблоне для userdiff реализована поддержка токена “record” для языка C#.
  • В команде “git worktree add –lock” реализована возможность вывода причины блокировки рабочего дерева.
  • В выводе, формируемом при помощи опции “git log –decorate”, при которой помимо обычных данных из лога показываются связанные с ними имена веток, добавлено определение и загрузка только востребованных данных, чтобы не выполнять лишнюю работу.
  • Добавлена оптимизация, позволяющая ускорить выполнения операций на стороне сервера за счёт отбрасывания уже просмотренных коммитов для деревьев.
  • Бэкенд, обеспечивающий работу команды “diff -G/-S”, переведён на использования движка регулярных выражений pcre2, при его наличии.
  • Проведена оптимизация команды “git send-email”.
  • Продолжена работа по написанию реализации “git submodule” на языке Си.
Release. Ссылка here.