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

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

#

Выпуск системы управления исходными текстами Git 2.38
Дата публикации:Tue, 04 Oct 2022 10:54:15 +0300


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


По сравнению с прошлым выпуском в новую версию принято 699 изменений, подготовленных при участии 92 разработчиков, из которых 24 впервые приняли участие в разработке. Основные новшества:
  • В основной состав включена утилита "scalar", разработанная компанией Microsoft для управления крупными репозиториями. Утилита изначально была написана на языке C#, но в git включён переделанный вариант на языке Си.
    Новая утилита отличается от команды git включением по умолчанию дополнительных возможностей и настроек, влияющих на производительность при работе с очень крупными репозиториями. Например, при использовании
    scalar применяется:

    Частичное клонирование для работы с неполной копией репозитория.

    Встроенный механизм отслеживания изменений в файловой системе (FSMonitor), позволяющий обойтись без перебора всего рабочего каталога.
    Индексы, охватывающие объекты в разных pack-файлах (multi-pack).
    Файлы commit-graph
    с индексом графа коммитов, применяемым для оптимизации доступа к информации о коммитах.

    Фоновые периодические работы для поддержания оптимальной структуры репозитория в фоновом режиме, не блокируя интерактивный сеанс (раз в час выполняется работа по упреждающей загрузке свежих объектов из удалённого репозитория и обновлению файла с графом коммитов, а каждую ночь запускается процесс упаковки репозитория).
    Режим "sparseCheckoutCone", ограничивающий допустимые шаблоны при частичном клонировании.
В команду "git rebase" добавлена опция "--update-refs" для обновления зависимых веток, пересекающихся с перемещаемыми ветками, чтобы вручную не выполнять операции checkout к каждой зависимой ветке для переключения на требуемый коммит.
Обеспечена совместимость команды "git rm" с частичными индексами.

Улучшено поведение команды "git mv A B" при перемещении файла из рабочей области с частичными индексами в режиме "cone" во внешнюю область, для которой данный режим не применяется.

Проведена оптимизация формата bitmap-фалов для работы с большими репозиториями - добавлена опциональная индексная таблица со списком выбранных коммитов и их смещений.

В команде "git merge-tree" реализован новый режим при котором на основе двух указанных коммитов вычисляется дерево с результатом слияния, так, как если бы истории этих коммитов были объединены.

Добавлена настройка "safe.barerepository" для управления возможностью размещения bare-репозиториев (репозитории, не содержащие рабочего дерева) внутри других git-репозиториев. При установке в значение "explicit" будет допускаться работа с bare-репозиториями, размещёнными только в верхнем каталоге. Для возможности размещения bare-репозиториев в подкаталогах следует использовать значение "all".

В команду "git grep" добавлена опция "-m" ("--max-count"), аналогичная одноимённой опции в GNU grep и позволяющая ограничить число выводимых совпадений.

В команде "ls-files" реализована опция "--format" для настройки выводимых полей (например, можно включить вывод имени объекта, режимов и т.п.).

В "git cat-file" при показе содержимого объектов реализована возможность учёта привязок авторов к email, заданных в файле mailmap.



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

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

Ответить