Git 2.46 надходить із покращеннями, виправленнями та новим типом растрових зображень

git 2.46

Нова версія Git 2.46 надходить після трьох місяців розробки і в цьому новому випуску було включено кілька покращень і значні нові функції, такі як експериментальна підтримка нового типу растрових зображень, удосконалення експериментального «ремонтованого» бекенда, новий інтерфейс командного рядка для команди «git config», серед іншого.

Ця нова версія Git 2.46 містить виправлення помилок від понад 96 учасників, 31 з них новий і, таким чином, нова версія містить 746 змін.

Основні нові функції в Git 2.46

Експериментальна підтримка для Однією з найважливіших нових функцій є «растрове зображення доступності pseudofusion». цього випуску та цей новий тип растрового зображенняі відрізняється від традиційної структури «растрова карта доступності», зберігаючи дані про набори пов’язаних із комітом об’єктів не для кожного окремого коміту, а для кількох комітів одночасно.

Таким чином, це растрове зображення доступності псевдопоєднання дозволяє використовувати єдине растрове зображення для визначення об'єктів у комітах різних гілок, що призводить до значного покращення продуктивності, особливо у великих сховищах. Це прискорює такі операції, як git fetch, git rev-list і git clone, зменшуючи необхідність генерувати кілька окремих растрових зображень.

Git 2.46 також містить кілька важливих покращень інтерфейсу командного рядка і в управлінні обліковими даними та зберіганням даних. Інтерфейс командного рядка для команди git config було перероблено, заміна різнорідних варіантів, як –get, –get-all, –unset і –remove-section з набором більш інтуїтивно зрозумілих підкоманд. Наприклад, щоб відобразити всі конфігурації сховища, тепер ви можете використовувати команду «git configlist«, а для перегляду вмісту конкретного параметра тепер можна використовувати команду «git config отримати ». Щоб додатково відфільтрувати результати, ви можете скористатися параметром «–regexp», щоб вказати фільтр на основі регулярного виразу.

Крім цього, в протоколі «credential helper» додано підтримку нових полів «authtype» і «credential»., що дозволяє створювати обробники для систем автентифікації HTTP, які роблять більше, ніж просто перевіряють ім’я користувача та пароль, наприклад, під час використання Bearer Token в OAuth 2.0. А раніше, Для роботи з такими системами аутентифікації необхідно було вказувати конфіденційні дані відкритим текстом у параметрі http.extraHeader. Крім того, протокол додає можливість зберігати стан кожного контролера облікових даних для підтримки методів багатофакторної автентифікації, які використовуються в таких протоколах, як NTLM і Kerberos.

З іншого боку, вдосконалено розробку експериментального «ремонтованого» бекенда для ефективного зберігання посилань на гілки та тегів у репозиторії. У новій версії додано команду «git refs migrate –ref-format=reftable» для переміщення існуючих репозиторіїв у «reftable» бекенд (раніше бекенд був увімкнений лише під час ініціалізації сховища).

Так само, У Git 2.46 розпочато процес перетворення деяких тестів із набору тестів, до використання модульних тестів. Це призначено для спрощення тестування низькорівневих компонентів і підвищення ефективності процесу тестування на платформі Windows, що створює значні накладні витрати під час виконання кількох процесів на великій платформі під час виконання тестів, реалізованих у сценаріях оболонки .

З інші зміни, які виділяються цієї нової версії:

  • До команди git додано опцію «–no-advice», яка вимикає всі поради та підказки, що може бути корисним для запобігання засміченню журналу непотрібною інформацією під час автоматичного виклику git.
  • Додано можливість використовувати представлення «#RGB» на додаток до представлення «#RRGGBB» у коді для аналізу параметрів кольору.
  • Коли git merge бачить, що індекс неможливо оновити (наприклад, через
    до іншого процесу, який виконує те саме у фоновому режимі)
  • Макрос CPP USE_THE_REPOSITORY_VARIABLE представлено, щоб допомогти змінити кодову базу, щоб вона була менш залежною від доступності єдиного екземпляра the_repository.
  • «git version –build-options» повідомляє інформацію про версію
  • OpenSSL та інші бібліотеки (якщо використовуються) у збірці.
  • Виправлені витоки пам'яті в "git mv"
  • Оновлено підтримку завершення командного рядка для zsh (у contrib/)
    щоб припинити надавати внутрішній стан взаємодії з оболонкою кінцевого користувача

В кінці кінців якщо вам цікаво дізнатись більше про це, ви можете перевірити деталі в наступне посилання.