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

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

По сравнению с прошлым выпуском в новую версию принято 472 изменения, подготовленные при участии 88 разработчиков, из которых 30 впервые приняли участие в разработке. Основные новшества:

  • В скрипт git-jump добавлена поддержка редактора Emacs, помимо ранее поддерживаемого редактора Vim. Git-jump используется для передачи в текстовый редактор информации о позициях в файле для быстрой навигации и перехода к редактированию кода в определённом месте. Например, git-jump может применяться для переключения в редакторе между строками, полученными в результате разбора конфликтов слияния, оценки различий и выполнения поиска (можно выполнить «git jump grep foo» и затем быстро переключаться между позициями, в которых встречается маска «foo»).

  • В «git cat-file» обеспечена поддержка применения опций »-s» и »--batch-check» вместе с »--use-mailmap» для правильного определения размера объекта с учётом замены идентификатора, осуществлённой на основе привязок к email, заданных в файле mailmap (ранее опция »--use-mailmap» влияла только на вывод содержимого, но не учитывала, что старые и заменённые пары имя/email могут иметь разный размер).

  • В команду «git check-attr» добавлена опция »--source» для выбора дерева с необходимым файлом ».gitattributes», который будет использован для определения актуальных атрибутов в условиях наличия в репозитории нескольких файлов ».gitattributes».

  • Реализация команды «git bisect» переписана на языке Си и встроена в основной исполняемый файл git (ранее команда была реализована в форме Shell-скрипта).
  • Удалена старая реализация команды «git add --interactive», написанная на Shell (в git 2.26 был предложен встроенный вариант на Си, но старая реализация на Shell оставалась доступной и регулировалась настройкой add.interactive.useBuiltin).

  • В команду «git merge-tree» добавлена опция '--merge-base'.

  • В команду «git range-diff» добавлена опция »--abbrev=‹num›».

  • Добавлена возможность переопределения редактора списков для интерактивного режима команды rebase через выставление переменной GIT_SEQUENCE_EDITOR через команду «git var» по аналогии с «git var GIT_EDITOR».

  • В подсистему учётных записей добавлена поддержка паролей с ограниченным сроком действия.

  • В сценариях автодополнения ввода для Bash реализован режим работы без учёта регистра символов.



Источник: http://www.opennet.ru/opennews/art.shtml? num=58790

© OpenNet