Доступна система контроля версий Git 2.20

Распределённая система контроля версий Git получила очередное обновление. Чтобы появилась Git 2.20, 83 разработчика внесли в код 962 изменения. По словам команды, это на порядок превышает тот же показатель в самом большом релизе ветки 2.x.x.

Обратная совместимость

Команда git branch -l теперь является сокращённой версией git branch --list — раньше она помогала запустить reflog во время создания новой ветки. Запуск git fetch разработчики ограничили: он возможен только с указанием --force, чтобы исключить проблемы с согласованностью при обновлении ссылки.

Команды git help -a и git help -av в целях помощи новичкам отображают более подробный вывод. Чтобы вернуться к старому виду, достаточно ввести git help --no-verbose -a. В git send-email появилась возможность извлекать из подписей строки с адресами, которые заканчиваются на «-by». Это обратно несовместимое изменение, и его можно отключить, если добавить к команде --suppress-cc=misc-by.

Интерфейс и рабочие процессы

  • Если в репозитории окажутся файлы, адреса которых отличаются только регистром букв, во время выполнения git clone высветится предупреждение.
  • Команда git format-patch получила опции --interdiff и --range-diff, которые выдают в примечании или комментарии списки различий между существующей и предыдущей версиями.
  • git mailinfo научилась восстанавливать код патчей, отправленных по email простым текстом и повреждённых из-за расстановки переносов.
  • git multi-pack-index теперь фиксирует повреждения в файлах формата .midx.
  • Создание экспериментальных файлов commit-graph для больших репозиториев занимает много времени, поэтому разработчики предусмотрели форму вывода о состоянии процесса.

Производительность и поддержка разработки

  • Для рабочих сборок предусмотрена опция компиляции -Wunused-function.
  • git submodule update полностью переписан на С.
  • Один из тестов непрерывной интеграции (CI), призванный работать с настройками unusual/experimental/random, теперь поддерживает файлы midx и commit-graph.
  • Представлен новый механизм поиска объектов среди большого количества pack-файлов. Он опирается на объединение всех .idx-файлов в один.

Предыдущая версия системы вышла в сентябре 2018 года. Она включала в себя усовершенствованный поиск по репозиторию, настройки для сортировки веток по умолчанию и инструмент, позволяющий сравнивать цепочки коммитов.

tproger.ru