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

Автор Сообщение
news_bot ®

Стаж: 6 лет 2 месяца
Сообщений: 27286

Создавать темы news_bot ® написал(а)
22-Ноя-2023 19:07

После трёх месяцев разработки опубликован выпуск распределенной системы управления исходными текстами Git 2.43. Git является одной из самых популярных, надёжных и высокопроизводительных систем управления версиями, предоставляющей гибкие средства нелинейной разработки, базирующиеся на ответвлении и слиянии веток. Для обеспечения целостности истории и устойчивости к изменениям "задним числом" используются неявное хеширование всей предыдущей истории в каждом коммите, также возможно удостоверение цифровыми подписями разработчиков отдельных тегов и коммитов.
По сравнению с прошлым выпуском в новую версию принято 464 изменения, подготовленные при участии 80 разработчиков, из которых 17 впервые приняли участие в разработке. Основные новшества:
  • В команду "git repack" добавлены опции "--filter" и "--filter-to", позволяющие выполнить переупаковку репозитория c учётом заданного фильтра объектов, и при необходимости перенести в отдельное место объекты, не удовлетворяющие заданному фильтру. Опции можно использовать для разделения репозитория в соответствии с определёнными критериями (например, для выноса ненужных или слишком больших объектов), сохраняя при этом возможность доступа ко всем частям при помощи частичного клонирования. Например для оставления в репозитории блобов, размером менее 1 МБ, и выносом в отдельный репозиторий остальных крупных объектов, можно выполнить:
    $ git init --bare ../backup.git
       $ git repack -ad --filter='blob:limit=1m' \
          --filter-to=../backup.git/objects/pack/pack
    Инициализация репозитория при помощи частичного клонирования позволяет работать с неполной копией репозитория, корректно обрабатывая обращения к отсутствующим объектам (при обращении к отсутствующим объектам, они на лету будут загружаться по мере необходимости).
  • Добавлена возможность работы с несколькими pack-файлами с информацией о недостижимых объектах ("cruft packs"), на которые в репозитории отсутствуют ссылки (не ссылаются ветки или теги). При помощи новой опции "git repack --max-cruft-size" можно определить максимальный размер отдельного pack-файла и добиться разделения базы недостижимых объектов на серию pack-файлов небольшого размера. Использование нескольких мелких pack-файлов вместо одного крупного позволяет значительно сократить операции ввода/вывода при переупаковке репозиториев с большим числом недостижимых объектов, так как для каждой операции переупаковки не нужно будет перезаписывать все данные.
  • Добавлено распознавание попыток выполнения двойной отмены коммита через "git revert" и учёт этого факта при формировании сообщения об отмене (при повторном "git revert" вместо "Revert: Revert: fix bug" будет записано "Reapply fix bug", а если откатить изменение третий раз - "Revert Reapply fix bug").
    $ git revert --no-edit HEAD >/dev/null
       $ git revert --no-edit HEAD >/dev/null
       $ git log --oneline
       a300922 (HEAD -> main) Reapply "fix bug"
       0050730 Revert "fix bug"
       b290810 fix bug
  • Разрешено совместное использование опций "--rfc" и "--subject-prefix". Например, для формирования письма с префиксом "[RFC PATCH bpf-next]" в теме сообщения можно указать:
    $ git format-patch --subject-prefix="PATCH bpf-next" --rfc
  • В команде "git log" разрешено указание заполнителя "%(decorate)" для показа имён связанных веток при определении формата при помощи опции "--format", например:
    $ git log --format='%cr%(decorate) (%h) %s'
       3 days ago (HEAD -> master, origin/master, origin/HEAD) (e0939bec27) RelNotes: minor wording fixes in 2.43.0 release notes
       7 days ago (tag: v2.43.0-rc1) (dadef801b3) Git 2.43-rc1
       7 days ago (8ed4eb7538) Merge branch 'tb/rev-list-unpacked-fix'
  • В "git for-each-ref" и похожие команды добавлена возможность применения правил .mailmap к заданным через опцию "--format" спецификаторам формата, таким как "%(authorname)" и "%(committeremail)".

===========
Источник:
OpenNet.RU
===========

Похожие новости: Теги для поиска: #_git
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 29-Апр 14:40
Часовой пояс: UTC + 5