Git 2.46 поставляется с улучшениями, исправлениями и новым типом растровых изображений.

гит 2.46

В новой версии Git 2.46 выходит после трёх месяцев разработки и в эту новую версию было включено несколько улучшений и значительных новых функций, таких как экспериментальная поддержка нового типа растровых изображений., улучшения экспериментального «reftable» бэкэнда, среди прочего новый интерфейс командной строки для команды «git config».

Эта новая версия Git 2.4.6 включает исправления ошибок от более чем 96 участников., из них 31 новый и как таковая новая версия содержит 746 изменений.

Основные новые возможности Git 2.46

Экспериментальная поддержка «Растровое изображение доступности псевдослияния» — одна из наиболее важных новых функций. этого выпуска и этот новый тип растровых изображенийи отличается от традиционной структуры «битовое изображение доступности» путем хранения данных о наборах объектов, связанных с коммитом, не для каждого отдельного коммита, а для нескольких коммитов одновременно.

Таким образом, это растровое изображение доступности псевдослияния позволяет использовать одно растровое изображение для определения объектов в коммитах разных веток, что привело к значительному улучшению производительности, особенно в больших репозиториях. Это ускоряет такие операции, как git fetch, git rev-list и git clone, за счет уменьшения необходимости генерировать несколько отдельных растровых изображений.

Git 2.46 также вносит несколько важных улучшений в интерфейс командной строки. и в управлении учетными данными и хранилищем данных. Интерфейс командной строки для команды git config был переработан. замена разрозненных опций, таких как –get, –get-all, –unset и –remove-section с набором более интуитивно понятных подкоманд. Например, для отображения всех конфигураций репозитория теперь можно использовать команду «список конфигурации git«, а для просмотра содержимого определенного параметра теперь можно использовать команду «получить конфигурацию git ». Для дальнейшей фильтрации результатов вы можете использовать опцию «-regexp», чтобы указать фильтр на основе регулярного выражения.

Кроме того, в протоколе «Credential Helper» добавлена ​​поддержка новых полей «authtype» и «credential»., что позволяет создавать обработчики для систем аутентификации HTTP, которые делают больше, чем просто проверяют имя пользователя и пароль, например, при использовании токена носителя в OAuth 2.0. И ранее, Для работы с такими системами аутентификации необходимо было указывать конфиденциальные данные открытым текстом. в параметре http.extraHeader. Кроме, протокол добавляет возможность сохранять состояние каждого контроллера учетных данных для поддержки методов многофакторной аутентификации, используемых в таких протоколах, как NTLM и Kerberos.

Более тогоулучшена разработка экспериментального «reftable» бэкэнда для эффективного хранения ссылок на ветки и тегов в репозитории. В новой версии добавлена ​​команда «git refsmigrate –ref-format=reftable» для переноса существующих репозиториев в бэкэнд «reftable» (ранее бэкэнд включался только при инициализации репозитория).

Также, В Git 2.46 начался процесс преобразования некоторых тестов из набора тестов. к использованию модульных тестов. Это призвано упростить тестирование низкоуровневых компонентов и повысит эффективность процесса тестирования на платформе Windows, что приводит к большим накладным затратам при запуске ряда процессов на большой платформе во время выполнения тестов, реализованных в оболочке. сценарии.

Из другие изменения, которые выделяются этой новой версии:

  • В команду git добавлена ​​опция «–no-advice», которая отключает все сообщения с советами и подсказками, что может быть полезно для предотвращения засорения журнала ненужной информацией во время автоматического вызова git.
  • Добавлена ​​возможность использовать представление «#RGB» в дополнение к представлению «#RRGGBB» в коде для анализа настроек цвета.
  • Когда git merge видит, что индекс не может быть обновлен (например, из-за
    другому процессу, который делает то же самое в фоновом режиме)
  • Макрос CPP USE_THE_REPOSITORY_VARIABLE введен, чтобы помочь сделать базу кода менее зависимой от доступности одноэлементного экземпляра the_repository.
  • «git version –build-options» сообщает информацию о версии
  • OpenSSL и другие библиотеки (если используются) в сборке.
  • Исправлены утечки памяти в «git mv».
  • Обновлена ​​поддержка завершения командной строки для zsh (в вкладе/)
    чтобы прекратить подвергать внутреннее состояние взаимодействию с оболочкой конечного пользователя

В конце концов если вам интересно узнать об этом больше, вы можете проверить подробности в по следующей ссылке.