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

Представлен релиз распределенной системы управления исходными текстами Git 2.2.0. Git является одной из самых популярных, надёжных и высокопроизводительных систем управления версиями, предоставляющей гибкие средства нелинейной разработки, базирующиеся на ответвлении и слиянии веток. Для обеспечения целостности истории и устойчивости к изменениям задним числом используются неявное хеширование всей предыдущей истории в каждом коммите, также возможно удостоверение цифровыми подписями разработчиков отдельных тегов и коммитов. Из проектов, разрабатываемых с использованием Git, можно отметить ядро Linux, Android, Libreoffice, Systemd, X.Org, Wayland, Mesa, Gstreamer, Wine, Debian, DragonFly BSD, Perl, Eclipse, GNOME, KDE, Qt, Ruby on Rails, PostgreSQL, VideoLAN, PHP, Xen, Minix.

По сравнению с прошлым выпуском в новую версию принято более 550 изменений, подготовленных при участии 77 разработчиков, из которых 20 впервые приняли своё участие в разработке. Основные изменения:

  • В "fast-export" добавлена опция "--anonymize", позволяющая заменить при экспорте содержимое произвольных блобов, имён разработчиков, путей и записей в логе на строки-заглушки. Подобное необходимо, когда требуется сообщить об ошибке, но присутствуют ограничения по раскрытию некоторого содержимого в публичных репозиторий;
  • В команду "git push" добавлена опция "--signed", позволяющая выполнить push-обновление с использованием цифровой подписи для последующего аудита и проверки привязки веток в публичном репозитории к необходимым коммитам на сервере, не заслуживающем доверия;
  • В "git archive" добавлена возможность фильтрации попадающего в архив содержимого по файловому пути (pathspec);
  • В случае отсутствия привязанного к пользователю файла конфигурации (core.user) выполнение "git config --edit --global" отныне приведёт к выводу базового шаблона конфигурации, а не пустого экрана;
  • При выполнении команды "git stash list -p" теперь отображаются отличия основной версии коммита и версии из рабочего дерева по аналогии с "git stash show";
  • В "git difftool" добавлена опция для отключения передачи путей в diff-бэкенд, если он завершил своё выполнение с ненулевым кодом возврата;
  • В "log --date=iso" использован компактный вариант формата ISO 8601, который более удобен для восприятия человеком. Для полного следования требованиям стандарта вывода даты добавлена опция "--date=iso-strict";
  • В логике работы "git prune" учтены различные пограничные ситуации;
  • Добавлена защита от использования неоднозначных индексов, создаваемых некорректными реализациями Git, в которых для одного пути содержатся записи для нескольких стадий;
  • Изменено наименование создаваемых при выполнении команды "git mergetool" временных файлов, для того чтобы избежать слишком большого числа точек в именах (вместо наименования "hello.BASE.4321.c" теперь используется "hello_BASE_4321.c"). Добавлена возможность размещения подобных временных файлов в отдельной директории, которую можно определить через директиву конфигурации "mergetool.writeToTemp";
  • Представлен новый спецификатор "%D", который, в отличие от "%d", выводит имя тега без оформления (при "%d" выводится " (tagname)", а при "%D" просто "tagname");
  • Добавлен новый фильтр "git interpret-trailers", позволяющий откорректировать хвост сообщения к коммиту (содержит "Signed-off-by:");
  • Добавлена команда "git help everyday", при выполнении которой выводится руководство "Everyday Git in 20 commands or so";
  • Сокращено потребление памяти и увеличена эффективность обработки параметров слияния при работы команды "git svn";
  • В "git fsck" добавлены дополнительные проверки целостности содержимого связанных с тегами объектов;
  • В "git hash-object" добавлена опция "--literally" для упрощения отладки;
  • API для манипуляции ссылками ("refs") реструктуризирован для придания более транзакционного характера и поддержки атомарных обновлений при размещении хранилищ не только в традиционных ФС (наприимер, в СУБД);
  • Проведена чистка API для работы с файлами блокировок;
  • Добавлена подсистема для кэширования параметров конфигурации, позволяющий избавиться от многократного чтения файлов конфигурации при выполнении некоторых команд.


Источник:
http://www.opennet.ru/opennews/art.shtml?num=41135

<= Назад
Комментарии
]]> ipv6 ready Kiev LUGLinux4MeНостальгияЛичный сайт skeletora ]]>