Поиск по сайту:
Структурированное программирование потверждает закон исключенного третьего. (Алан.Дж.Перлис)

Git 2.49: более быстрая упаковка, более умное клонирование и многое другое

22.03.2025
Git 2.49: более быстрая упаковка, более умное клонирование и многое другое

Git, распределенная система контроля версий и краеугольный инструмент разработки программного обеспечения, помогающий разработчикам эффективно управлять изменениями в коде в разных проектах, только что выпустила новую версию 2.49.

Одним из самых важных моментов является обновленная функция имени-хэша Git, которая влияет на то, как система группирует схожие объекты для дельта-сжатия. Например, когда большой файл развивается посредством незначительных правок, Git может хранить новые версии более эффективно, ссылаясь на старые.

Более того, дебютирует Git 2.49 git backfill, который объединяет исторические запросы blob. Вместо того, чтобы запускать поток поочередных загрузок, новый инструмент отправляет небольшое количество пакетных запросов, группируя объекты по пути файла.

Результатом являются меньшие накладные расходы, меньшее количество циклов и улучшенное дельта-сжатие со стороны сервера. При запуске с —sparseопцией (включается автоматически, если в вашем репозитории настроена разреженная проверка), git backfillизвлекаются только отсутствующие блобы, относящиеся к вашему разреженному дереву.

Еще одним улучшением, ориентированным на производительность, является добавленная поддержка zlib-ng, современного ответвления широко используемой библиотеки zlib. Zlib-ng оптимизирует различные наборы инструкций SIMD (например, SSE2 и AVX2) и оптимизирует устаревший код, обеспечивая заметный прирост скорости при сжатии и распаковке объектов Git.

Следующая остановка – Rust. Git 2.49 приветствует свои первые крейты Rust: libgit-sysи libgit. Эти крейты обертывают часть внутреннего библиотечного кода Git в низко- и высокоуровневые API Rust. Хотя текущая реализация представляет собой небольшое доказательство концепции, в основном сосредоточенное на config.hинтерфейсах Git, она открывает дверь для будущих улучшений на основе Rust.

Читать  Руководство по Git. Часть 1. Введение в Git и базовую настройку

А теперь что-то очень полезное — если вы когда-либо неправильно написали команду (например, набрали git psuhвместо git push), вы знаете, что Git иногда пытается это исправить. Раньше установка help.autocorrectзначения «1» приводила к тому, что предлагаемая команда запускалась почти немедленно, что могло показаться неприятным, особенно когда ее принимали за простое логическое значение «истина».

С Git 2.49 функция автокоррекции была согласована с другими булевыми настройками проекта. «1» теперь просто означает «включено», а числовые значения выше единицы по-прежнему указывают задержку в децисекундах. Таким образом, старое поведение «моргания глаза» заменено, что помогает гарантировать отсутствие непреднамеренных условий гонки между пользователем и клавиатурой.

И последнее, но не менее важное: до сих пор —branchпараметр in git cloneбыл ограничен ветками или тегами, что затрудняло клонирование конкретного коммита без ссылочной метки.

Git 2.49 представляет —revision, который разрешает любой произвольный коммит (даже если у него нет ветки или тега) и извлекает только его соответствующую историю. Таким образом, конвейеры CI или специализированные рабочие процессы могут извлекать точный необходимый коммит без ручных удаленных конфигураций.

Более подробную информацию обо всех изменениях и нововведениях в Git 2.49 можно найти в анонсе релиза.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Мир микроконтроллеров (МК) продолжает стремительно развиваться, и работа программистом в…

Спасибо!

Теперь редакторы в курсе.