Git 2.37 вече е издаден и това са неговите новини

Стартирането на новата версия на Git 2.37, който е един от най-популярните системи за контрол на версиите, надежден и високопроизводителен софтуер, който предоставя гъвкави нелинейни инструменти за разработка, базирани на разклонения и сливания на разклонения.

За да се гарантира целостта на историята и устойчивостта на промени, "обратният" имплицитен хеш на цялата предишна история се използва за всеки комит, също така е възможно да се проверят цифровите подписи на отделни разработчици на маркери и комити.

Ключови нови функции на Git 2.37

В сравнение с предишната версия, 395 промени бяха приети в новата версия, изготвен с участието на 75 разработчици, от които 20 участваха в разработката за първи път.

В тази нова версия е подчертано, че механизмът на частичните индекси (рядък индекс), който обхваща само част от хранилището, se е подготвен за масова употреба. Частичните индекси могат да подобрят производителността и да спестят място в хранилищата, които извършват операции за частично клониране (рядка проверка) или работят с непълно копие на хранилището.

Новата версия завършва работата на интегриране на частични индекси в команди "git show", "git sparse-checkout" и "git stash". Най-забележимото увеличение на производителността от използването на частични индекси е в командата "git stash", която е до 80% по-бърза в някои ситуации.

Друга промяна, която се откроява, е тази въведен е нов механизъм за пакети с крафт за пакетиране на недостижими обекти, които не са посочени в хранилището (не се препращат от клонове или тагове). Колекторът за боклук изтрива недостъпни обекти, но те остават в хранилището за определено време, преди да ги изтрие, за да се избегнат условия на състезание. За проследяване на периода на недостъпни обекти е необходимо обвързване, те са маркирани с времето за промяна на подобни обекти, което не позволява да се съхраняват в пакет файл, в който всички обекти имат общо време за модификация.

Записвайки всеки използван преди това обект в отделен файл, файлът създава проблеми при наличието на голям брой нови недостъпни обекти, все още не. Предложеният механизъм "cruft pack" позволява всички недостъпни обекти да се съхраняват в пакет файл, а данните за времето на модификация на всеки обект се отразяват в отделна таблица, съхранявана във файл с разширение ".mtimes".

За Windows и macOS има вграден механизъм за да следите промените във файловата система, която елиминира необходимостта от изброяване на цялата работна директория при извършване на операции като "git status". По-рано, за да проследявате промените чрез куки, можехте да свържете външни помощни програми за проследяване на промяна на файловата система, като Watchman, но това изискваше инсталиране на допълнителни програми и конфигурации. Тази функционалност вече е вградена и може да бъде активирана с "git config core.fsmonitor true".

Командата "git sparse-checkout" спря да поддържа алтернатива на режима "--cone". дефиниция на шаблон за частично клониране, която позволява, когато се дефинира частта от хранилището, обект на операцията за клониране, да се изброят отделни файлове, използвайки синтаксиса ".gitignore", който не позволява използване за оптимизиране на частични индекси.

От останалите промени които се открояват:

  • Подобрена гъвкавост при конфигуриране на извикването fsync() за изтриване на промените на диска.
  • Добавена е поддръжка за стратегията за "партидно" синхронизиране към параметъра "core.fsyncMethod", който ускорява работата при писане на голям брой отделни файлове чрез натрупване на промени в кеша за пренаписване, прочистени от едно извикване на fsync().
  • Командите за преминаване като „git log“ и „git rev-list“ вече имат опцията „–since-as-filter=X“ за филтриране на информация за комитации, по-стари от „X“.
  • В командата "git remote", указването на флага "-v" предоставя информация за частични клонинги на хранилището.
  • Добавена е настройка "transfer.credentialsInUrl", която може да приема стойностите "warn", "die" и "allow". Ако параметърът „дистанционно. .url" указва идентификационни данни в обикновен текст, опитът за извършване на операции "получаване" или "натискане" ще бъде неуспешен, ако настройката "transfer.credentialsInUrl" е зададена на "die" или предупреждение, ако е зададено на "warn" .
  • По подразбиране се използва новата реализация на интерактивен режим на командата "git add -i", пренаписана от Perl на C.

Накрая ако се интересувате да научите повече за това, можете да проверите подробностите В следващия линк.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.