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

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

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

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

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

Сообщение rssbot »

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


По сравнению с прошлым выпуском в новую версию принято 466 изменений, подготовленных при участии 70 разработчиков (21 впервые приняли участие в разработке Git). Основные новшества:
  • Добавлена возможность применения стратегии упаковки репозиториев "geometric" ("git repack --geometric") к частично клонированным внешним репозиториям, работающим в режиме "promisor" (недостающие объекты догружаются при необходимости). При переупаковке с опций "--geometric"
    pack-файлы с расширением ".promisor" обрабатываются и упаковываются отдельно. Стратегия "geometric" позволяет сократить время обслуживания крупных монорепозиториев, за счёт выборочной переупаковки объектов и исключения излишних ресурсоёмких операций, таких как слияние всех pack-файлов (сохраняется геометрическая прогрессия размера pack-файлов, при которой каждый следующий pack-файл должен быть как минимум в два раза больше предыдущего).
  • В команду "git fast-import" добавлена опция "--signed-commits=strip-if-invalid" для удаления цифровых подписей из импортируемых объектов, ставших некорректными после перезаписи части истории репозитория. До этого можно было либо импортировать, либо удалить все подписи, без разделения на действительные и потерявшие смысл. Опция "strip-if-invalid" позволяет реализовать инструменты для сохранения действующих подписей и переподписывания объектов с потерявшими актуальность подписями.
  • В вывод команды "git repo structure" добавлена информация о размере всех достижимых объектов (reachable) в репозитории с разбивкой по их типам. Информация теперь выводится в читаемом виде с единицами измерения и показывается отдельно для фактического и занимаемого на диске размеров, что позволяет оценить общий размер репозитория на диске.

    Код:

    $ git repo structure

    | Repository structure | Value
    |
    | -------------------- | ---------- |
    | * References
    |
    |
    | * Count
    | 1.78 k |
    |
    * Branches
    |
    5
    |
    |
    * Tags
    | 1.03 k |
    |
    * Remotes
    |
    749
    |
    |
    * Others
    |
    0
    |
    |
    |
    |
    | * Reachable objects |
    |
    | * Count
    | 421.37 k |
    |
    * Commits
    | 88.03 k |
    |
    * Trees
    | 169.95 k |
    |
    * Blobs
    | 162.40 k |
    |
    * Tags
    |
    994
    |
    | * Inflated size
    | 7.61 GiB |
    |
    * Commits
    | 60.95 MiB |
    |
    * Trees
    | 2.44 GiB |
    |
    * Blobs
    | 5.11 GiB |
    |
    * Tags
    | 731.73 KiB |
    | * Disk size
    | 301.50 MiB |
    |
    * Commits
    | 33.57 MiB |
    |
    * Trees
    | 77.92 MiB |
    |
    * Blobs
    | 189.44 MiB |
    |
    * Tags
    | 578.13 KiB |
  • В команду "git maintenance" добавлена подкоманда "is-needed" для выполнения операций обслуживания репозитория только при наличии в этом необходимости.
  • В экспериментальной команде "git replay" по умолчанию реализовано обновление ссылок в транзакции, вместо показа, куда должны указывать ссылки, без обновления.
  • В команду "git blame" добавлена возможность выбора алгоритма оценки отличий при помощи опции "--diff-algorithm=‹algo›".
  • В команду "git repo info" добавлена опция "--all".
  • Из Git-for-Windows перенесена поддержка символических ссылок для платформы Windows.




В состав прошлого выпуска было добавлено предупреждение о включении по умолчанию сборки компонентов на языке Rust в Git 2.53. Тем не менее, фактически в версии Git 2.53 лишь добавлены отдельные улучшения поддержки Rust (возможность сборки без GNU sed), но сборка с Rust при использовании Makefile оставлена по умолчанию отключённой (требует выставления флага WITH_RUST), а при использовании Meson автоматически
активируется при наличии компилятора rustc. В версии Git 3.0 инструментарий Rust намерены включить в число обязательных сборочных зависимостей.




Источник: https://www.opennet.ru/opennews/art.shtml?num=64731
(opennet.ru, основная лента)
Спасибо сказали: