Випуск системи керування вихідними текстами 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= ».
  • Додано можливість перевизначення редактора списків для інтерактивного режиму команди rebase через виставлення змінної GIT_SEQUENCE_EDITOR через команду git var за аналогією з git var GIT_EDITOR.
  • У підсистему облікових записів додано підтримку паролів з обмеженим терміном дії.
  • У сценаріях автодоповнення для Bash реалізований режим роботи без урахування регістру символів.

Джерело: opennet.ru

Додати коментар або відгук