Поиск по сайту:

Выпущен Git 2.53 с новыми проверками обслуживания и более быстрыми путями diff


Git 2.53 вводит обслуживание «is-needed», расширяет инструменты для репозиториев и включает улучшения производительности в diff, пакетах и внутренностях базы объектов.

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

Одним из наиболее заметных нововведений является новая подкоманда git maintenance is-needed. Она позволяет пользователям и инструментам определять, требуются ли фактически задачи обслуживания, такие как перепаковка или оптимизация ссылок, что помогает избежать ненужной фоновой работы с уже здоровыми репозиториями.

Кроме того, экспериментальная команда git replay теперь сама обновляет ссылки с использованием одной транзакции по умолчанию, вместо того чтобы выдавать обновления ссылок для применения другой командой. Версия 2.53 также улучшает сообщения об ошибках, документацию и покрытие тестами, особенно в части обработки ревизий и недопустимых аргументов.

Несколько повседневных команд также получают постепенные улучшения. git blame теперь поддерживает выбор алгоритма сравнения, что дает пользователям больше контроля над тем, как изменения приписываются между ревизиями.

Как git apply, так и git diff вводят новый класс ошибок пробелов для неполных строк, что делает такие проблемы более заметными и единообразно обрабатываемыми в инструментах. Команды для проверки репозитория также расширены, с новыми опциями для git repo info и более подробным выводом git repo structure, включая дополнительные сведения о базе объектов.

Под капотом значительная часть работы направлена на производительность и внутреннюю структуру. Операции сравнения (diff) выигрывают от оптимизаций, таких как отключение обнаружения переименований и копий при выполнении git diff --quiet, когда важно лишь наличие изменений.

Кроме того, использование памяти было уменьшено в ресурсоемких путях обнаружения копий, и продолжаются работы по рефакторингу базы данных объектов, обработки пакетов и потоковых API.

Наконец, Git 2.53 продвигает поддержку символических ссылок в верхнем уровне на Windows, сопровождаемую подготовкой тестового набора и многочисленными исправлениями в слое совместимости MinGW. На macOS Git теперь обходит давние проблемы в системной реализации iconv, вместо того чтобы полностью её заменять.

Как обычно, релиз завершается длинным списком исправлений, касающихся сбоев, неправильного выращивания по не-ASCII путям, случаям слияния, ошибок конфигурации и ошибок в документации. Для получения дополнительной информации обо всех изменениях в Git 2.53 см. анонс релиза.