НОВОСТИ   БИБЛИОТЕКА   ЮМОР   КАРТА САЙТА   ССЫЛКИ   О САЙТЕ  




19.01.2018

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

Подготовлен выпуск распределенной системы управления исходными текстами Git 2.16.0. Git является одной из самых популярных, надёжных и высокопроизводительных систем управления версиями, предоставляющей гибкие средства нелинейной разработки, базирующиеся на ответвлении и слиянии веток. Для обеспечения целостности истории и устойчивости к изменениям задним числом используются неявное хеширование всей предыдущей истории в каждом коммите, также возможно удостоверение цифровыми подписями разработчиков отдельных тегов и коммитов. По сравнению с прошлым выпуском в новую версию принято 509 изменений, подготовленных при участии 91 разработчика, из которых 26 впервые приняли своё участие в разработке.

Основные изменения:

● Использование пустой строки в качестве охватывающей все варианты маски пути теперь считается ошибкой. Например, команда git add '' больше не будет работать. Указанная возможность была объявлена устаревшей ещё в 2016 году;

● Скрипты с реализацией хуков отныне будут игнорироваться если для них не выставлен флаг исполняемого файла. По умолчанию при подобном игнорировании будет выводиться предупреждение, которое можно отключить через опцию advice.ignoredHook;

● В "git pull" добавлена обработка опции "--[no-]signoff" и её передача в "git merge";

● Значение опции "--push-option=строка" к "git push" теперь по умолчанию устанавливается в список строк, установленный через переменную push.pushOption;

● В "gitweb" для проверки доступа к директории вместо Perl-оператора "-x" применена pragma "filetest 'access'";

● Команда "git stash save" объявлена устаревшей, вместо неё следует использовать "git stash push";

● Обработчик для взаимодействия с MediaWiki переработан для работы с пространствами имён mediawiki и корректной обработки слишком длинных имён страниц (теперь имена обрезаются без потери суффикса ".mw");

● В команде "git for-each-ref" опция "--format=..." расширена возможностью отображения имени внешнего репозитория и его использования на удалённой стороне в 'upstream' и 'push' через параметр "%(push:remotename)";

● Выполнение "git bisect run" без явного указания каких-либо команд теперь приводит к выводу ошибки, вместо обработки всех коммитов как успешно протестированных;

● Представлено новое расширение fsmonitor для взаимодействия со средствами мониторинга состояния ФС, позволяющее ускорить выполнение "git status" и других операций, которым необходимо отслеживать какие из файлов были изменены;

● В командах семейства "diff" обеспечено игнорирование различий в указании возврата каретки в конце строки;

● Команда "git add --renormalize ." теперь позиционируется как новый и надёжный способ записи сведений о нормализации символов конца строки и других замен в данных репозитория при помощи функции "convert_to_git()";

● В командах "git branch" и "git checkout -b" теперь блокируют попытки создания ветки с именем "HEAD";

● В команде "git branch --list" по умолчанию реализован вывод с использованием постраничного просмотра (pager), когда содержимое не вмещается в терминал. По аналогии с "git tag --list" данное поведение можно контролировать при помощи настройки pager.branch;

● В команды, подобные "git grep -W" и "git diff -W", добавлена эвристика для раскрытия строк, похожих на функцию (например, "diff.*.xfuncname") для включения в вывод блоков комментариев, идущих непосредственно перед вводимым элементом;

● В "git config --expiry-date gc.reflogexpire" обеспечена обработка параметров времени в виде "2.weeks" по аналогии с обработкой "1k" в "--int" как 1024;

● Имена тегов в "git log --decorate", используемых для аннотирования коммитов, теперь могут быть ограничены подмножеством доступных ref-ссылок, выбранных при помощи опций "--decorate-refs=шаблон" и "--decorate-refs-exclude=шаблон";

● Устранена проблема, приводившая к крахам при выполнении "git grep", если осуществлена сборка с libpcre2;

● В "git send-email" добавлена проверка наличия sendmail не только в /usr/lib и /usr/sbin, но и в других путях из списка $PATH;

● В команду "git diff" добавлена опция "--anchored" с реализацией варианта алгоритма "--patience", позволяющего задать уникальную строку в качестве опорной точки;

● Добавлена настройка rebase.abbreviateCommands, при которой "git rebase -i" генерирует список todo с указанием односимвольных аббревиатур имён команд;

● В команде "git svn" обеспечена очистка символов возврата каретки в сообщениях коммитов по аналогии с поведением Subversion;

● Добавлена поддержка URL https:// для http.proxy при использовании свежих версий libcurl;

● Команда "git merge" теперь проверяет наличие настройки merge.verifySignatures и использует её значение, как если бы в командной строке была указана опция '--verify-signatures'.

● Реализации "git bisect" и "git submodule" переписаны на Си;

● Проведена оптимизация кода для поиска кратчайшего уникального префикса имён объектов.


Источники:

  1. opennet.ru








© Злыгостев А.С., 2001-2019
При использовании материалов сайта активная ссылка обязательна:
http://informaticslib.ru/ 'Библиотека по информатике'
Рейтинг@Mail.ru
Поможем с курсовой, контрольной, дипломной
1500+ квалифицированных специалистов готовы вам помочь