Релиз распределенной системы управления исходными текстами Git 2.1.0
16 августа 2014 года
Доступен релиз распределенной системы управления исходными текстами Git 2.1.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.
Основные изменения:
- Изменение, нарушающее совместимость: значение по умолчанию для переменной окружения LESS изменено с "FRSX" на "FRX". В частности, убран флаг "S", который указывал на необходимость отрезания хвоста невлезающих длинных строк. Отныне длинные строки будут переноситься на следующую строку. Для возврата старого поведения можно запустить 'git config core.pager "less -S"' или только для команды
"git blame" - 'git config pager.blame "less -S"';
- Добавлена команда "git verify-commit" для проверки цифровой подписи GPG в подписанных коммитах по аналогии с использованием "git verify-tag" для подписанных тегов;
- Добавлена экспериментальная поддержка нового формата индексов, в котором используется два файла - один с базовыми данными, а другой с инкрементальными изменениями относительно базового файла. Использование данного формата может сократить операции ввода/вывода при перезаписи очень больших индексов на системах с небольшой активностью изменений в рабочем дереве;
- Активирована по умолчанию настройка "core.preloadindex", включающая поддержку предварительной загрузки индекса, что позволяет ускорить работу на системах с многоядерными CPU;
- При клонировании репозитория с локального диска при помощи команды "git clone" теперь используется копирование с применением жестких ссылок. Для отмены данного поведения следует использовать опцию "--no-local";
- В команду git commit --date={date}" добавлена поддержка дополнительных форматов задания времени, в том числе "--date=now";
- Из contrib/ исключено несколько вышедших из употребления директорий;
- Код для вычисления ширины экрана при выводе строк UTF-8 обновлён для соответствия спецификации Unicode 7.0;
- Для клиентов, использующих транспорт на основе HTTP, обеспечена более полная трансляция сообщений об ошибках, передаваемых web-сервером;
- В скрипте автодополнения ввода для bash (из contrib/) улучшена поддержка алиасов, определяющих сложные последовательности команд;
- Добавлена настройка "core.commentChar", через которую для редактора сообщений коммитов можно задать символ начала комментария, отличный от "#". Для автоматического определения символа комментария можно указать параметр "auto";
- В команду "git format-patch" добавлена опция
"--signature-file=файл" для добавления подписи к письму из указанного файла;
- В "git grep" добавлена настройка grep.fullname, принудительно включающая использование полного имени файла ("--full-name")
- В "git imap-send" добавлена возможность обращения к обработчику запроса параметров входа для получения данных аутентификации;
- В "git log" и похожих командах обеспечена поддержка значения "auto" для автоматического включения опции "--decorate" при выводе на терминал;
- Запуск "git merge" без аргументов теперь приведёт к выводу ошибки, за исключением явного определения upstream для текущей ветки или активации опции merge.defaultToUpstream;
- В "git mergetool" добавлена поддержка бэкенда vimdiff3;
- По умолчанию отключена настройка mergetool.prompt, при которой всегда выводился запрос подтверждения о запуске утилиты tergetool в текущем пути;
- В "git replace" добавлена субкоманда "--edit" для создания замены через редактирование существующего объекта;
- В "git replace" добавлена субкоманда "--graft" для перезаписи родителя текущего коммита;
- В "git send-email" добавлены опции "--to-cover" и "--cc-cover" для получения содержимого заголовков "To": и "Cc:" из указанных далее файлов;
- При редактировании сообщения для тега через "git tag" обеспечено отображение тега в комментарии;
- Лимит "core.deltabasecachelimit" увеличен с 16 до 96 MiB;
- Проведена значительная оптимизация работы команды "git blame" за счёт реорганизации структур по отслеживанию выполнения работы;
- Оптимизирована работа "git diff при сравнении трёх и более деревьев.
Источники[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.