Вышел Git 2.50: главные нововведения
● Управление cruft-пакетами Теперь можно объединять мелкие cruft‑пакеты с помощью новой опции `--combine-cruft-below-size`, что помогает поддерживать репозиторий в чистоте и уменьшает фрагментацию. Также исправлена проблема с преждевременным удалением объектов при freshen — теперь объекты сохраняются корректно.
● Инкрементальные битмапы в многопакетных индексах (MIDX) Теперь Git поддерживает инкрементальное создание bitmap’ов для каждого слоя MIDX — это ускоряет проверку достижимости объектов в больших репозиториях и экономит ресурсы при обновлении индекса. Фича пока экспериментальная, но уже помогает масштабировать большие проекты.
● Новый merge-движок ORT Полностью заменён устаревший recursive-движок: теперь по умолчанию используется быстрый и простой в поддержке ORT (Ostensibly Recursive’s Twin). Старый merge-движок удалён из кода Git. Добавлен флаг `--quiet` для `git merge-tree` — можно проверить возможность слияния без записи новых объектов.
● Улучшения в git cat-file Появилась поддержка фильтров: теперь можно выводить только объекты нужного типа через `--filter`. Например, быстро получить только деревья или коммиты.
● Упрощённое удаление reflog Теперь удалить историю reflog можно одной командой `git reflog delete BRANCH` — не нужно больше использовать expire с дополнительными параметрами.
● Оптимизация работы с рефами `git update-ref` стал работать быстрее: теперь меньше проверок при создании веток, особенно длинных, и эффективнее используется кеширование префиксов.
● Гибкая настройка HTTP keep-alive Добавлены новые параметры: `http.keepAliveIdle`, `http.keepAliveInterval`, `http.keepAliveCount` — теперь можно точно контролировать поведение TCP‑соединений при работе через HTTP.
● Другие полезные мелочи + Новый инструмент git-diff-pairs — компактно показывает различия между ревизиями, поддерживает поиск переименований. + Поддержка batched reference updates для git-rev-list. + Новый userdiff-драйвер для .INI-файлов.
⚡ В итоге: Git 2.50 стал быстрее и удобнее, особенно для крупных проектов и сложных рабочих процессов. Улучшения затрагивают как внутреннюю архитектуру, так и повседневные задачи — от merge до анализа истории и управления объектами.