После двух месяцев разработки опубликован выпуск распределенной системы управления исходными текстами 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” на языке Си.