Выпуск системы управления исходными текстами Git 2.46

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 3246
Зарегистрирован: 20.08.2022

#

Выпуск системы управления исходными текстами Git 2.46
Дата публикации:Tue, 30 Jul 2024 10:11:39 +0300




После трёх месяцев разработки опубликован выпуск распределенной системы управления исходными текстами Git 2.46. Git является одной из самых популярных, надёжных и высокопроизводительных систем управления версиями, предоставляющей гибкие средства нелинейной разработки, базирующиеся на ответвлении и слиянии веток. Для обеспечения целостности истории и устойчивости к изменениям "задним числом" используются неявное хеширование всей предыдущей истории в каждом коммите, также возможно удостоверение цифровыми подписями разработчиков отдельных тегов и коммитов. Код Git распространяется под лицензией GPLv2+.



По сравнению с прошлым выпуском в новую версию принято 746 изменений, подготовленных при участии 96 разработчиков, из которых 31 впервые участвуют в разработке. Основные новшества:
  • Добавлена экспериментальная поддержка нового вида битовых карт -
    "pseudo-merge reachability bitmap", в которых в отличие от структуры "reachability bitmap" данные о наборах объектов, имеющих отношение к коммитам, хранятся не в привязке к каждому отдельному коммиту, а в привязке сразу к нескольким коммитам. Подобная организация позволяет использовать одну битовую карту при определении объектов для коммитов в разных ветках, что в больших репозиториях даёт возможность обойтись без создания большого числа отдельных битовых карт и заметно ускорить обход объектов для определения того, какие объекты необходимо отправить клиенту при выполнении таких операций, как "git fetch", "git rev-list" и "git clone". Для включения нового вида битовых карт и определения логики их выбора и использования предложена серия настроек "bitmapPseudoMerge":

    git config bitmapPseudoMerge.all.pattern 'refs/(heads|tags)/'
    git config bitmapPseudoMerge.all.threshold now
    git config bitmapPseudoMerge.all.stableThreshold never
    git repack -adb



    Реализован новый интерфейс командной строки для команды "git config", в котором вместо разрозненных опций для просмотра, переименования и удаления настроек и секций, таких как "--get", "--get-all", "--unset" и "--remove-section", предложен набор отдельных субкоманд. Например, для вывода всех настроек репозитория теперь можно использовать команду "git config list", а для просмотра содержимого определённого параметра - команду "git config get <имя параметра>". Для дополнительной фильтрации результатов при помощи опции "--regexp" можно задать фильтр на основе регулярного выражения.



    В протокол "credential helper", применяемый для передачи учётных данных при обращения к репозиторям c ограниченным доступом, добавлена поддержка новых полей "authtype" и "credential", позволяющих создавать обработчики для систем HTTP-аутентификации, не ограничивающихся проверкой логина и пароля, например, при применении Bearer Token в OAuth 2.0. До этого для работы с подобными системами аутентификации приходилось указывать конфиденциальные данные в открытом виде в параметре
    http.extraHeader. Кроме того, в протокол добавлена возможность сохранения состояния каждого обработчика учётных данных для поддержки многоэтапных методов аутентификации, используемых в таких протоколах, как NTLM и Kerberos.


    Продолжено развитие экспериментального бэкенда "reftable" для эффективного хранения в репозитории ссылок на ветки и теги. Данный бэкенд использует блочное хранилище, применяемое проектом JGit и оптимизированное для хранения очень большого числа ссылок (традиционные форматы хранения ссылок приводят в репозиториях с большим числом ссылок к ощутимым накладным расходам из-за размещения очень большого числа файлов в одном каталоге в случае хранения ссылок в каталоге $GIT_DIR/refs или необходимости перезаписи одного большого файла при каждом обновлении в случае хранения ссылок в файле $GIT_DIR/packed_refs). В новой версии добавлена команда "git refs migrate --ref-format=reftable" для перевода существующих репозиториев на бэкенд "reftable" (ранее бэкенд включался только при инициализации репозитория).

    В команду git добавлена опция "--no-advice", отключающая все сообщения с рекомендациями и подсказками, что может оказаться полезным для предотвращения забивания лога лишней информацией при автоматизированном вызове git.


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

    В код для разбора настроек цветов добавлена возможность использования представления "#RGB" в дополнение к "#RRGGBB".


Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=61627

Жизнь за Нер'зула!

Ответить