Выпуск системы управления исходными текстами Git 2.36
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
После трёх месяцев разработки опубликован выпуск распределенной системы управления исходными текстами Git 2.36. Git является одной из самых популярных, надёжных и высокопроизводительных систем управления версиями, предоставляющей гибкие средства нелинейной разработки, базирующиеся на ответвлении и слиянии веток. Для обеспечения целостности истории и устойчивости к изменениям "задним числом" используются неявное хеширование всей предыдущей истории в каждом коммите, также возможно удостоверение цифровыми подписями разработчиков отдельных тегов и коммитов.
По сравнению с прошлым выпуском в новую версию принято 717 изменений, подготовленные при участии 96 разработчиками, из которых 26 впервые приняли участие в разработке. Основные новшества:
- В команды "git log" и "git show" добавлена опция "--remerge-diff", позволяющая показать отличия между общим результатом слияния и фактическими данными, отражёнными в коммите после обработки команды "merge", что позволяет наглядно оценить изменения, выполненные в результате разрешения конфликтов при слиянии. Обычная команда "git show" разделяет разные разрешения конфликтов отступом, что затрудняет понимание изменений. Например, на скриншоте ниже строки "+/-" без отступа показывает последнее разрешение конфликта, связанное с переименованием в первой ветке sha1 на oid в комментарии, а "+/-" с отступом - начальное разрешение конфликта, вызванное появлением во второй ветке дополнительного аргумента в функции dwim_ref().
При использовании опции "--remerge-diff" различия между разрешениями конфликтов не разделяются для каждой родительской ветки, а показываются общие различия между файлом, имеющим конфликты слияния, и файлом, в котором конфликты решены.
- Повышена гибкость настройки поведения по сбросу дисковых кэшей через вызов функции fsync(). Ранее доступный параметр core.fsyncObjectFiles разделён на две переменных конфигурации core.fsync и core.fsyncMethod, предоставляющих возможность применять fsync, не только к файлам с объектами (.git/objects), но и к другим структурам git, таким как ссылки (.git/refs), reflog и pack-файлы.
Через переменную core.fsync можно указать список внутренних структур Git, после операции записи для которых дополнительно будет вызываться fsync. Переменная core.fsyncMethod позволяет выбрать метод для сброса кэша, например, можно выбрать fsync для применения одноимённого системного вызова или указать writeout-only для применения отложенной записи (pagecache writeback).
- Для защиты от
уязвимостей, манипулирующих подстановкой другими пользователями каталогов .git в совместно используемые разделы, усилена проверка владельца репозитория. Выполнение любых команд git теперь допускается только в своих каталогах ".git". Если каталог с репозиторием принадлежит другому пользователю, то по умолчанию будет выведена ошибка. Указанное поведение можно отключить при помощи настройки safe.directory.
- В команду "git cat-file", предназначенную для вывода исходного содержимого Git-объектов, добавлена опция "--batch-command", дополняющая ранее доступные команды "--batch" и "--batch-check" возможностью адаптивного выбора типа вывода через указание "contents <объект>" для вывода содержимого или "info <объект>" для вывода информация об объекте. Дополнительно поддерживается команда "flush" для сброса буфера вывода.
- В команду "git ls-tree", предназначенную для формирования списка содержимого дерева объектов, добавлена опция "--oid-only" ("--object-only"), по аналогии с "--name-only" выводящая только идентификаторы объектов для упрощения вызова из скриптов. Также реализована опция "--format" позволяющая определить собственный формат вывода, комбинируя информацию о режиме, типе, имени и размере.
- В команде "git bisect run" реализовано определение невыставления
для скрипта признака исполняемого файла и вывода в этом случае ошибок с кодами 126 или 127 (ранее, если скрипт невозможно было запустить все ревизии помечались как имеющие проблемы).
- В команду "git fetch" добавлена опция "--refetch" для извлечения всех объектов без информирования другой стороны о содержимом, уже имеющемся на локальной системе. Подобное поведение может быть полезным для восстановления состояния после сбоев, когда нет уверенности в целостности локальных данных.
- В команды "git update-index", "git checkout-index", "git read-tree" и "git clean" добавлена поддержка частичных индексов (sparse index), позволяющих повысить производительность и сэкономить место в репозиториях, в которых выполняются операции частичного клонирования (sparse-checkout).
- Изменено поведение команды "git clone --filter=... --recurse-submodules", которая теперь приводит к частичному клонированию субмодулей (ранее при выполнении подобных команд фильтр применялся только к основному содержимому, а субмодули клонировались полностью без учёта фильтра).
- В команде "git bundle" добавлена поддержка указания фильтров для выборочного помещения содержимого по аналогии с операциями частичного клонирования.
- В команду "git branch" добавлена опция "--recurse-submodules" для рекурсивного обхода субмодулей.
- В userdiff предложен новый обработчик для языка Kotlin.
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://lore.kernel.org/all/xm...)
- OpenNews: Выпуск системы управления исходными текстами Git 2.35
- OpenNews: Две уязвимости в Git
- OpenNews: Атака на GitHub, приведшая к утечке приватных репозиториев и доступу к инфраструктуре NPM
- OpenNews: Выпуск системы управления исходными текстами Git 2.33
- OpenNews: Отчёт о компрометации git-репозитория и базы пользователей проекта PHP
Похожие новости:
- Атака на GitHub, приведшая к утечке приватных репозиториев и доступу к инфраструктуре NPM
- Выпуск Git 2.35.2 с устранением уязвимостей
- GitHub реализовал возможность упреждающей блокировки утечек токенов к API
- Уязвимость в GitLab, позволяющая захватить аккаунты, авторизированные через OAuth, LDAP и SAML
- Уязвимость в GitLab, позволяющая получить доступ к токенам Runner
- GitHub внедрил систему машинного обучения для поиска уязвимостей в коде
- В NPM включена обязательная двухфакторная аутентификация для 100 самых популярных пакетов
- Выпуск системы управления исходными текстами Git 2.35
- Выпуск системы совместной разработки GitBucket 4.37
- GitHub внедряет в NPM обязательную расширенную верификацию учётных записей
Теги для поиска: #_git
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 13:18
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
После трёх месяцев разработки опубликован выпуск распределенной системы управления исходными текстами Git 2.36. Git является одной из самых популярных, надёжных и высокопроизводительных систем управления версиями, предоставляющей гибкие средства нелинейной разработки, базирующиеся на ответвлении и слиянии веток. Для обеспечения целостности истории и устойчивости к изменениям "задним числом" используются неявное хеширование всей предыдущей истории в каждом коммите, также возможно удостоверение цифровыми подписями разработчиков отдельных тегов и коммитов. По сравнению с прошлым выпуском в новую версию принято 717 изменений, подготовленные при участии 96 разработчиками, из которых 26 впервые приняли участие в разработке. Основные новшества:
=========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 13:18
Часовой пояс: UTC + 5