2 února prezentovány vydání distribuovaného systému řízení zdrojů Git 2.53.
Git je vysoce produktivní a poskytuje nelineární vývojové funkce založené na větvení a slučování. Pro zajištění historické integrity a odolnosti vůči retroaktivním změnám používá implicitní hashování celé předchozí historie v každém commitu a také digitální podpisy jednotlivých tagů a commitů. Kód Gitu distribuovány pod licencí GPLv2+.
Oproti předchozí verzi obsahuje nová verze 466 změn, na kterých se podílelo 70 vývojářů (z nichž 21 bylo ve vývoji v Gitu nováčky). inovace:
- Přidal Možnost aplikovat strategii geometrického balení repozitářů (git repack --geometric) na částečně klonované externí repozitáře běžící v režimu promisor (chybějící objekty se stahují dle potřeby). Při přebalování s volbou --geometric jsou soubory packfile s příponou .promisor zpracovávány a baleny samostatně. Geometrická strategie zkracuje dobu údržby velkých monorepozitářů selektivním přebalováním objektů a eliminací zbytečných operací náročných na zdroje, jako je slučování všech souborů packfile (je zachována geometrická posloupnost velikostí souborů packfile, která vyžaduje, aby každý následující soubor packfile byl alespoň dvakrát větší než předchozí).
- Do příkazu git fast-import byla přidána volba --signed-commits=strip-if-invalid pro odstranění digitálních podpisů z importovaných objektů, které se staly neplatnými po přepsání části historie repozitáře. Dříve bylo možné buď importovat, nebo odstranit všechny podpisy, bez rozlišování mezi platnými a neplatnými. Volba strip-if-invalid umožňuje implementaci nástrojů pro uchování platných podpisů a opětovné podepisování objektů s vypršenými podpisy.
- Výstup příkazu git repo structure nyní obsahuje informace o velikosti všech dostupných objektů v repozitáři, rozdělené podle typu. Tyto informace se nyní zobrazují v čitelném formátu s měrnými jednotkami a zvlášť pro skutečnou velikost a velikost disku, což umožňuje odhadnout celkovou velikost disku repozitáře:
Struktura repozitáře $git | Struktura repozitáře | Hodnota | | ——————— | ———- | | * Odkazy | | | * Počet | 1.78 kB | | *Větve | 5 | | * Tagy | 1.03 kB | | * Vzdálené objekty | 749 | | *Ostatní | 0 | | | | | * Dosažitelné objekty | | | * Počet | 421.37 kB | | * Commity | 88.03 kB | | * Stromy | 169.95 kB | | * Bloby | 162.40 kB | | * Tagy | 994 | | * Nafouknutá velikost | 7.61 GiB | | * Commity | 60.95 MiB | | * Stromy | 2.44 GiB | | * Bloby | 5.11 GiB | | * Tagy | 731.73 KiB | | * Velikost disku | 301.50 MiB | | * Commity | 33.57 MiB | | * Stromy | 77.92 MiB | | * Bloby | 189.44 MiB | | * Tagy | 578.13 KiB |
- Příkaz git maintenance má nyní dílčí příkaz is-needed pro provádění operací údržby repozitáře pouze v případě potřeby.
- Experimentální příkaz git replay nyní ve výchozím nastavení aktualizuje reference v transakci, místo aby zobrazoval, kam by reference měly ukazovat, bez aktualizace.
- Příkaz git blame nyní umožňuje zvolit algoritmus pro vyhodnocení rozdílů pomocí volby --diff-algorithm=. .
- Do příkazu git repo info byla přidána volba --all.
- Z Git-pro-Windows Podpora symbolických odkazů byla přesunuta na platformu. Windows.
Poslední číslo bylo doplněno o varování o povolení sestavování komponent Rust ve výchozím nastavení v Gitu 2.53. Ve skutečnosti však pouze v Gitu 2.53 přidal Některá vylepšení podpory Rustu (možnost sestavit bez GNU sed, ale sestavit s Rustem při použití Makefile) opuštěný ve výchozím nastavení zakázáno (vyžaduje nastavení příznaku WITH_RUST) a při automatickém použití Mesonu aktivováno pokud máte kompilátor rustc. V Gitu 3.0 je toolchain Rust zamýšlet zahrnout do seznamu požadovaných závislostí sestavení.
Zdroj: linux.org.ru
