Состоялся (https://lkml.org/lkml/2017/8/4/481) выпуск распределенной системы управления исходными текстами Git 2.14.0 (http://git-scm.com/). Git является одной из самых популярных, надёжных и высокопроизводительных систем управления версиями, предоставляющей гибкие средства нелинейной разработки, базирующиеся на ответвлении и слиянии веток. Для обеспечения целостности истории и устойчивости к изменениям задним числом используются неявное хеширование всей предыдущей истории в каждом коммите, также возможно удостоверение цифровыми подписями разработчиков отдельных тегов и коммитов. Из проектов, разрабатываемых с использованием Git, можно отметить ядро Linux (https://git.kernel.org/cgit/linux/kernel/git/stable/linux-st.../), Android (https://android.googlesource.com/), LibreOffice (http://cgit.freedesktop.org/libreoffice), Systemd (http://cgit.freedesktop.org/systemd), X.Org (http://cgit.freedesktop.org/xorg), Wayland (http://cgit.freedesktop.org/wayland), Mesa (http://cgit.freedesktop.org/mesa/), GStreamer (http://cgit.freedesktop.org/gstreamer), Wine (http://source.winehq.org/git/wine.git), Debian (http://anonscm.debian.org/gitweb), DragonFly BSD (http://gitweb.dragonflybsd.org/?p=dragonfly.git;a=summary), Perl (http://perl5.git.perl.org/perl.git), Eclipse (http://git.eclipse.org), GNOME (http://git.gnome.org/browse/), KDE (https://projects.kde.org/projects), Qt (https://code.qt.io/cgit/), Ruby on Rails (https://github.com/rails/rails), PostgreSQL (http://git.postgresql.org/gitweb/), VideoLAN (http://git.videolan.org), PHP (http://git.php.net/), Python (https://github.com/python/cpython), Xen (http://xenbits.xen.org/gitweb/), Minix (http://git.minix3.org/).
По сравнению с прошлым выпуском в новую версию принято 727 изменений, подготовленных при участии 66 разработчиков, из которых 18 впервые приняли своё участие в разработке. Основные изменения (https://github.com/git/git/blob/v2.14.0/Documentation/RelNot...):
- В команде "git diff" по умолчанию задействован улучшенный алгоритм компоновки отступов, включающий дополнительную эвристику для корректного отображения логики изменений, в которых фигурируют повторяющиеся блоки. Для отключения эвристики в настройках следует указать "diff.indentHeuristic=false";
- При обработке Perl-совместимых регулярных выражений добавлена поддержка JIT-компиляции и обеспечена возможность сборки с библиотекой PCRE v2, которая теперь рекомендована для применения (ранее в git поддерживалась только сборка с библиотекой PCRE v1, сопровождение которой теперь ограничивается исправлением проблем критического характера). Для сборки с PCRE v2 вместо "USE_LIBPCRE=Yes" следует указать "USE_LIBPCRE2=Yes";
- Добавлена возможность настройки цветов имён текущей ветки и отслеживаемых внешних веток, отображаемых в выводе "git status --short --branch";
- В команду "git clone" добавлена опция "--no-tags", позволяющая изначально не извлекать все теги и настроить tagopt, чтобы не следовать тегам при последующих выборках;
- В "git archive --format=zip" обеспечена поддержка расширения zip64 для создания архивов, превышающих 4 Гб;
- В "git reset" добавлена опция "--recurse-submodules" для рекурсивного обхода субмодулей;
- В "git diff --submodule=diff" по умолчанию обеспечен рекурсивный обход вложенных субмодулей;
- В "git repack" добавлена опция "--threads=n", указанное в которой число потоков также передаётся в pack-objects;
- В "git send-email" задействован запуск обработчика sendemail-validate для проверки и при необходимости блокирования сообщений перед их отправкой;
- Улучшено автоопределение путей, указанных при запуске команд вида "git cmdname --options" без их явного отделения от ревизий разделителем '--';
- В "filter-branch" добавлен псевдофильтр "--setup" для определения функций и переменных, которые могут использоваться в других фильтрах;
- В "git send-email" добавлены опции "--batch-size" и "--relogin-delay" для обхода ограничений почтовых серверов, лимитирующих число сообщений, которые можно отправить в рамках одного сеанса;
- В "git pull --rebase --recurse-submodules" обеспечено выполнение операции rebase для ветки во всех привязанных субмодулях;
- По аналогии с "git grep" в "git log" добавлена опция "-P" как синоним "--perl-regexp";
- Добавленный в Git 2.13 код для выявления в Git-репозиториях известных коллизий (https://www.opennet.dev/opennews/art.shtml?num=46091) в хэшах SHA-1 теперь интегрирован в git.git как субмодуль (это первый субмодуль в git.git). Для получения данного субмодуля следует клонировать git.git с опцией "--recurse-submodules".
URL: https://lkml.org/lkml/2017/8/4/481
Новость: http://www.opennet.dev/opennews/art.shtml?num=46976