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

Kate

Administrator
Команда форума
После трёх месяцев разработки опубликован выпуск распределенной системы управления исходными текстами 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 реализован режим работы без учёта регистра символов.
 
Сверху