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

Обсуждение новостей, соответствующих тематике форума

Модератор: Модераторы разделов

Аватара пользователя
rssbot
Бот
Сообщения: 6001
ОС: gnu/linux

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

Сообщение rssbot »

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


По сравнению с прошлым выпуском в новую версию принято 621 изменение, подготовленное при участии 98 разработчиков, из которых 35 впервые участвуют в разработке. Основные новшества:
  • Расширена возможность разделения на несколько pack-файлов базы недостижимых объектов ("cruft packs"), на которые в репозитории отсутствуют ссылки (не ссылаются ветки или теги). Использование нескольких мелких pack-файлов вместо одного крупного позволяет значительно сократить операции ввода/вывода при переупаковке репозиториев с большим числом недостижимых объектов, так как для каждой операции переупаковки не нужно перезаписывать все данные.


    В новой версии предложена опция "--combine-cruft-below-size", при помощи которой можно организовать объединение существующих pack-файлов, размер которых не превышает заданное значение. В отличие от ранее доступной опции "--max-cruft-size" новая опция "--combine-cruft-below-size" не ограничивает максимальный размер результирующего pack-файла, что позволяет более эффективно объединять pack-файлы в репозиториях с большим числом недостижимых объектов, разнесённых по нескольким pack-файлам.
  • Добавлена экспериментальная поддержка инкрементального обновления многопакетных индексов MIDX (multi-pack index), при котором каждый слой MIDX-индекса c информацией о доступности объектов размещается в отдельном bitmap-файле. В очень крупных репозиториях реализованный вид индексов даёт возможность по мере поступления коммитов быстро и эффективно добавлять новые битовые карты доступности объектов.
  • Из кодовой базы удалён старый движок выполнения операций слияния "recursive", на смену которому пришёл полностью переработанный движок "ORT" (Ostensibly Recursive’s Twin), более производительный, функциональный и удобный для сопровождения. ORT позволяет определить возможность объединения двух объектов, не создавая новых объектов в репозитории (при старом движке требовалось выполнение команды "git merge-tree --write-tree", записывающей новые объекты в репозиторий).
    В Git 2.50 в команде merge-tree реализована опция "--quiet", при которой возможность объединения можно проверить на основе кода возврата без записи данных в репозиторий.
  • В "git cat-file --batch" и подобные команды добавлена опция "--filter", позволяющая пропустить некоторые объекты при выполнении операции.

    Код:

    git cat-file --batch-check='%(objectname)' --filter='object:type=tree'
  • В команде "git maintenance" реализованы три новых действия: worktree-prune, rerere-gc и reflog-expire. Действие worktree-prune предназначено для удаления устаревших или повреждённых рабочих деревьев (worktrees) в репозитории. Действие rerere-gc удаляет старых записи, оставшиеся после устранения конфликтов слияния. Действие reflog-expire удаляет устаревшие недоступные объекты из reflog.
  • Добавлена команда "git reflog drop", удаляющая все данные reflog для указанной ветки.
  • Проведена оптимизация обработки и использования ссылок, например, реализовано кэширование префиксов ссылок, убраны лишние проверки при выполнении команды "git update-ref", повышена эффективность поиска существующих итераторов ссылок.
  • Для библиотеки cURL добавлены настройки KeepAlive: http.keepAliveIdle, http.keepAliveInterval и http.keepAliveCount.
  • В команде "git rev-list" реализована возможность вывода в формате, удобном для машинного разбора, при котором каждое поле разделено символом NUL.
  • Язык Perl исключён из зависимостей, необходимых для утилит работы с документацией и выполнения тестового набора ("make test"). Многие Perl-однострочники в тестах заменены на функции shell или переписаны на языке Си.
  • Добавлен userdiff-обработчик для формата файлов конфигурации ".ini".
  • В команде send-email улучшена поддержка SMTP-сервера Outlook.


Источник: https://www.opennet.ru/opennews/art.shtml?num=63413
(opennet.ru, основная лента)
Спасибо сказали:
Аватара пользователя
yoricI
Сообщения: 2795
ОС: gentoo fluxbox

Re: [ON] Выпуск системы управления исходными текстами Git 2.50

Сообщение yoricI »

rssbot писал(а):
17.06.2025 00:11
при участии 98 разработчиков, из которых 35 впервые участвуют в разработке.
Проверили их подноготную до десятого колена? А то запустят червя. Да и старых надо на детекторе лжи прогнать
Спасибо сказали: