Git 2.49: Новый этап с поддержкой Rust и множеством улучшений

В середине марта 2025 года была выпущена версия 2.49 системы управления версиями Git. В это обновление вошло 460 новых функций и исправлений, над которыми трудились 89 разработчиков, среди которых 24 — новичка проекта. Релиз Git 2.47 состоялся в октябре 2024 года, а версия 2.48 была опубликована в январе 2025 года.

В версии Git 2.49 исправлены существующие ошибки, а также добавлено множество нововведений, включая более быструю упаковку с использованием name-hash v2, и новый инструмент git backfill для восстановления отсутствующих исторических блобов. Кроме того, появилась возможность выполнять shallow clone для одного коммита, даже если он не расположен на конце ветки. В проект была интегрирована функция отложенной загрузки недостающих файлов в клоне без блобов, начата работа по поддержке zlib-ng и добавлен интерфейс для языка Rust в кодовую базу. Первый код на Rust представлен в виде двух крейтов: libgit-sys и libgit. Команда продолжает работу над интеграцией Rust для будущих релизов Git.

«Этот релиз представляет собой значимую веху для проекта Git, поскольку в него были внедрены первые куски кода на Rust. В частности, в этом выпуске представлены два крейта: libgit-sys и libgit, которые служат низкоуровневыми и высокоуровневыми обёртками для части кода библиотеки Git. Проект давно направлен на улучшение своей библиотеки, впровадив изменения, такие как замена функций на возвращающие целые числа, что позволяет вызывающему объекту определять последующие действия — завершать программу или очищать память от утечек. В новом выпуске представлены экспериментальные возможности для работы с контейнером на Rust, охватывающим некоторый API из config.h Git. Это еще не полноценная оболочка всего интерфейса библиотеки, и в проекте еще предстоит много работы, прежде чем это станет реальностью, однако это важный шаг вперед,» — комментирует команда разработчиков Git.