После трёх месяцев разработки опубликован выпуск распределенной системы управления исходными текстами Git 2.40. Git является одной из самых популярных, надёжных и высокопроизводительных систем управления версиями, предоставляющей гибкие средства нелинейной разработки, базирующиеся на ответвлении и слиянии веток. Для обеспечения целостности истории и устойчивости к изменениям "задним числом" используются неявное хеширование всей предыдущей истории в каждом коммите, также возможно удостоверение цифровыми подписями разработчиков отдельных тегов и коммитов.
По сравнению с прошлым выпуском в новую версию принято 472 изменения, подготовленные при участии 88 разработчиков, из которых 30 впервые приняли участие в разработке. Основные новшества:
По сравнению с прошлым выпуском в новую версию принято 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 реализован режим работы без учёта регистра символов.
Выпуск системы управления исходными текстами Git 2.40
www.opennet.ru