The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Выпуск распределенной системы управления исходными текстами ..., opennews, 22-Июн-18, 12:22  [смотреть все]
Подготовлен (https://lkml.org/lkml/2018/6/21/594) выпуск распределенной системы управления исходными текстами Git 2.18.0 (http://git-scm.com/). Git является одной из самых популярных, надёжных и высокопроизводительных систем управления версиями, предоставляющей гибкие средства нелинейной разработки, базирующиеся на ответвлении и слиянии веток. Для обеспечения целостности истории и устойчивости к изменениям задним числом используются неявное хеширование всей предыдущей истории в каждом коммите, также возможно удостоверение цифровыми подписями разработчиков отдельных тегов и коммитов. По сравнению с прошлым выпуском в новую версию принято  903 изменения, подготовленных при участии  80 разработчиков, из которых 24 впервые приняли своё участие в разработке.


Наиболее важным нововведением Git 2.18 является интеграция поддержки второй версии коммуникационного протокола Git, который используется при удалённом подключении клиента к Git-серверу. Вторая версия протокола примечательна предоставлением возможности фильтрации веток и тегов на стороне сервера (ранее при выполнении любой команды извлечения клиенту всегда отправлялся полный список ссылок во всём репозитории, даже когда клиент обновлял только одну ветку) и добавлением средств для расширения протокола (добавления в протокол новых возможностей по мере появления в инструментарие новой  функциональности). Подробнее о второй версии протокола можно прочитать в отдельном анонсе (https://www.opennet.ru/opennews/art.shtml?num=48622).

Другие изменения (https://github.com/git/git/blob/v2.18.0/Documentation/RelNot...):

-  При выполнении слияний и операций "cherry-pick" добавлена эвристика для предугадывания переименований. Например, если  x/a, x/b и x/c были переименованы в z/a, z/b и z/c, то наиболее вероятно, что пользователь также переименует x/d в z/d, и можно предложить сразу переместить все остальные элементы каталога 'x' в каталог 'z'. Попутно в коде переименования устранена ошибка, которая могла приводить к перезаписи
не включённых в репозиторий файлов во время слияния;

-  В "git filter-branch" добавлен отдельный код возврата для отделения ситуации отсутствия новых коммитов для перезаписи от ошибок при выполнении операции;

-  При сборке со свежей библиотекой cURL обеспечена возможность использования TLS 1.3 и сжатия методом gzip;

-  В "git gui" добавлено распознавание файлов "~/.ssh/id_ecdsa.pub" и
   "~/.ssh/id_ed25519.pub" как SSH-ключей. В дополнение к
CTRL/CMD+ENTER для коммита добавлена клавиатурная комбинация    CTRL/CMD+KP_ENTER (аналог с нажатием Enter на боковом  цифровом блоке клавиатуры). Решены проблемы с использованием старых версий Tk (например 8.5.7)) без поддержки операции "ttk::style theme use" для выбора темы оформления;

-  В "git rebase" добавлена обработка опции "--signoff" при использовании бэкендов, отличных от  "am" (но вызванных без "--preserve-merges");

-  Выполнение "git branch --list" во время прерванной операции "rebase -i" теперь разделяет ситуации, когда rebase выполнен для отсоединённой ветки HEAD и обычной ветки;

-  В "git mergetools" обеспечена совместимость с утилитой guiffy (https://www.guiffy.com/);


-  Добавлен новый атрибут "working-tree-encoding", который указывает  Git выполнить перекодирование содержимого в соответствии с заданной кодировкой текста при выполнении операции checkout;

-  В "git config" добавлена универсальная опция "--type=typename" для указания типов задаваемых значений, дополняющая раздельные опции  
"--int", "--bool" и т.п. В "git config" также обавлен новый тип значений "--type=color" и опция "--default", например, можно указать "git config --get foo.color --default blue" и получить значение цвета из переменной foo.color или вывести цвет "blue" если данная переменная не определена;
-  В "git rebase" добавлена опция "--rebase-merges" для переноса всей топологии графа коммитов;
-  В "git worktree add" добавлена поддержка выполнения  операции checkout над существующей веткой;
-  В "git send-email" помимо ранее доступных опций диалога подтверждения ('Yes', 'No', 'Quit', 'All') добавлена кнопка 'Edit' для редактирования перед отправкой;

-  По умолчанию в настройках отключён режим "merge.renames" для экономии ресурсов процессора, которые попусту тратятся на поиск и слияние переименованных путей. В  "git status" добавлена настройка status.renames для отключения кода определения переименований;

-  Улучшена работа скрипта автодополнения ввода, в частности, для различных команд обеспечено автодополнение файловых путей;

-  По умолчанию обеспечена поддержка сборки с библиотекой PCRE v2. Для
явного выбора версии PCRE следует использовать опции USE_LIBPCRE1 и USE_LIBPCRE2;

-  Добавлена сборочная опция, позволяющая при запуске Git вызывать все связанные компоненты с использованием относительных путей (ранее данный режим применялся для Windows, но теперь доступен и для    Linux, BSD и macOS);

-  Абстрагирован интерфейс взаимодейтсвия с GPG с целью обеспечения в будущем интеграции  с другими типами систем формирования цифровых подписей;
-  Обеспечена более заметная подсветка ошибок при выполнении "git push";

-   Проведена оптимизация производительности операций "git fetch", "git gc"  и "git pack-objects";

-  Прекращена поддержка операции извлечения коммитов "git http-fetch", которая была помечена устаревшей  и никем не использовалась;

URL: https://lkml.org/lkml/2018/6/21/594
Новость: https://www.opennet.ru/opennews/art.shtml?num=48819




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру