Выпуск распределенной системы управления исходными текстами Git 2.17
Как сообщает opennet.ru Подготовлен выпуск распределенной системы управления исходными текстами Git 2.17.0. Git является одной из самых популярных, надежных и высокопроизводительных систем управления версиями, предоставляющей гибкие средства нелинейной разработки, базирующиеся на ответвлении и слиянии веток. Для обеспечения целостности истории и устойчивости к изменениям задним числом используются неявное хеширование всей предыдущей истории в каждом коммите, также возможно удостоверение цифровыми подписями разработчиков отдельных тегов и коммитов. По сравнению с прошлым выпуском в новую версию принято 516 изменений, подготовленных при участии 71 разработчика, из которых 20 впервые приняли свое участие в разработке.
- В команду diff добавлена опция "--find-object=object-id" для оценки изменений, связанных только с заданным именованным объектом;
- В "git format-patch" при передаче данных в diffstat обеспечено форматирование патча с ограничением ширины в 72 символа, что соответствует ограничениям, применяемым в других субкомандах;
- В "git daemon" добавлена возможность вывода лога в stderr вместо syslog в случае запуска из inetd;
- В "git rebase" добавлена опция "--allow-empty-message";
- В "git am" добавлена опция "--quit" в дополнение к уже существующей опции "--abort" для синхронизации с опциями других команд, таких как "rebase" и "cherry-pick";
- В "git worktree add" добавлена возможность вызова обработчика после выполнения checkout, по аналогии с вызовом обработчика перед checkout в "git clone";
- В "git tag" добавлена опция "--edit" для редактирования сообщения, переданного через флаги "-m" и "-F";
- Добавлена команда "git fetch --prune-tags", которую можно использовать для чистки устаревших локально сохраненных тегов;
- Добавлена опция "--show-current-patch", позволяющая посмотреть патч на котором остановился "git rebase" при возникновении конфликта;
- В "git merge" применение "--no-ff" (создается коммит для слияния вместо быстрого перенаправления (fast-forwarding), даже если присоединенная ветвь является потомком текущего коммита) по умолчанию теперь ограничено слиянием тегов, находящихся не в типовых местах иерархии refs/tags/. Старое поведение было приемлемо для интеграторов, которые принимают подписанные теги от разработчиков downstream-проекта, но не было удобно для разработчиков downstream-проектов, которые "догоняли" upstream до очередного тега с релизом;
- В "git status" добавлена опция "--no-ahead-behind" для отключения ресурсоемких операций вычисления связи между текущей веткой и ее upstream;
- В "git send-email" добавлена опция "--reply-to=address";
- В "git config" по аналогии с "git tag" страничная прокрутка теперь не применяется в операциях, не связанных с отображением данных (например, при установке параметров).