Новата версия на Git 2.46 пристига след три месеца разработка и в тази нова версия са включени няколко подобрения и значителни нови функции, като например експериментална поддръжка за нов тип растерни изображения, подобрения на експерименталния „refable“ бекенд, нов интерфейс на командния ред за командата „git config“, наред с други неща.
Тази нова версия на Git 2.46 включва корекции на грешки от над 96 участници, 31 от тях нови и като такива, новата версия съдържа 746 промени.
Основни нови функции в Git 2.46
Експерименталната поддръжка за „Растерна карта за достъпност на псевдофузия“ е една от най-важните нови функции на тази версия и този нов тип растерни изображенияи различна от традиционната структура "битова карта за достъпност" чрез съхраняване на данни за набори от свързани с ангажименти обекти не за всеки отделен ангажимент, а за няколко ангажимента наведнъж.
Като такова, това растерно изображение за достъпност на псевдообединяване позволява използването на една растерна карта за дефиниране на обекти в ангажименти на различни клонове, което води до значително подобрение на производителността, особено на големи хранилища. Това ускорява операции като git fetch, git rev-list и git clone, като намалява необходимостта от генериране на множество отделни растерни изображения.
Git 2.46 също въвежда няколко важни подобрения в своя интерфейс на командния ред и в управлението на идентификационни данни и съхранение на данни. Интерфейсът на командния ред за командата git config е преработен, замяна на различни опции като –get, –get-all, –unset и –remove-section с набор от по-интуитивни подкоманди. Например, за да покажете всички конфигурации на хранилището, вече можете да използвате командата „git configlist«, а за да видите съдържанието на определен параметър, вече можете да използвате командата «git config get ». За допълнително филтриране на резултатите можете да използвате опцията „–regexp“, за да зададете филтър въз основа на регулярен израз.
В допълнение към това в протокола «помощник за идентификационни данни" добави поддръжка за нови полета "authtype" и "credential"., което ви позволява да създавате манипулатори за системи за HTTP удостоверяване, които правят повече от просто проверка на потребителското име и паролата, например, когато използвате Bearer Token в OAuth 2.0. И преди, За да работите с такива системи за удостоверяване, беше необходимо да посочите поверителни данни в ясен текст в параметъра http.extraHeader. освен това протоколът добавя възможност за запазване на състоянието на всеки контролер идентификационни данни за поддръжка на методи за многофакторно удостоверяване, използвани в протоколи като NTLM и Kerberos.
От друга страна, е подобрена разработката на експерименталния „рефактивен“ бекенд за ефективно съхранение на връзки към клонове и етикети в хранилището. Новата версия добавя командата „git refs migrate –ref-format=reftable“ за мигриране на съществуващи хранилища към „reftable“ бекенда (преди това бекендът беше активиран само когато хранилището беше инициализирано).
Също така, В Git 2.46 процесът за конвертиране на някои тестове от тестовия пакет е стартиран, към използването на единични тестове. Това има за цел да опрости тестването на компоненти от ниско ниво и ще повиши ефективността на процеса на тестване на платформата на Windows, което генерира големи режийни разходи при изпълнение на редица процеси на голяма платформа по време на изпълнение на тестове, реализирани в скриптове на обвивката .
От други промени, които се открояват на тази нова версия:
- Добавена е опция „–no-advice“ към командата git, която деактивира всички съобщения за съвети и подсказки, което може да бъде полезно за предотвратяване на задръстване на регистрационния файл с ненужна информация по време на git push повикване.
- Добавена е възможност за използване на представянето „#RGB“ в допълнение към представянето „#RRGGBB“ в кода за анализиране на цветови настройки.
- Когато git merge види, че индексът не може да бъде актуализиран (например поради
към друг процес, който прави същото във фонов режим) - Въвежда се CPP макрос USE_THE_REPOSITORY_VARIABLE, за да помогне за прехода на кодовата база, така че да бъде по-малко зависима от наличността на the_repository единичен екземпляр.
- „git версия –build-options“ отчита информацията за версията на
- OpenSSL и други библиотеки (ако се използват) в компилацията.
- Коригирани течове на памет в "git mv"
- Актуализирана поддръжка за завършване на командния ред за zsh (в contrib/)
за да спрете да излагате вътрешното състояние на взаимодействие с обвивката на крайния потребител
Накрая ако се интересувате да научите повече за това, можете да проверите подробностите в следваща връзка.