február 2. bemutatva a forráskódok elosztott kezelésének rendszere Git 2.53.
A Git magas teljesítményével és a nem lineáris fejlesztési eszközökkel büszkélkedhet, amely a ágak elágazásán és egyesítésén alapul. A történelem integritásának biztosítása és a visszamenőleges változtatásokkal szembeni ellenállás érdekében minden egyes commit során az összes korábbi történet implicit hash-elése, valamint a fejlesztők által aláírt digitális aláírások alkalmazása szükséges az egyes címkék és commitok esetében. A Git kódja terjesztésre kerül GPLv2+ licenc alatt.
A múltbeli kiadásokhoz képest az új verzióba 466 módosítás került, amelyet 70 fejlesztő készített elő (21 fő először vett részt a Git fejlesztésében). Főbb újdonságok:
- Hozzáadva a geometric tárolási stratégia alkalmazása a részben klónozott külső tárolókhoz (git repack --geometric) promisor üzemmódban (a hiányzó objektumok szükség szerint töltődnek le). A repackelés során a --geometric opcióval a .promisor kiterjesztésű pack-fájlok külön kerülnek feldolgozásra és csomagolásra. A geometric stratégia lehetővé teszi a nagy monorepo-k karbantartási idejének csökkentését az objektumok szelektív repackelésével és a költséges műveletek, mint például az összes pack-fájl egyesítése elkerülésével (megmarad a pack-fájlok méretének geometrikus progressziója, ahol minden következő pack-fájl legalább kétszer akkora, mint az előző).
- A git fast-import csapatába egy új opció került bevezetésre: --signed-commits=strip-if-invalid, amely lehetővé teszi a digitális aláírások eltávolítását az importált objektumokból, ha azok érvénytelenné váltak a tároló történetének egy részének felülírása után. Korábban csak az aláírások importálására vagy eltávolítására volt lehetőség, az érvényesek és a már értelmüket vesztettek megkülönböztetése nélkül. A strip-if-invalid opció lehetővé teszi az érvényes aláírások megőrzésére és a nem aktuális aláírásokkal rendelkező objektumok újraaláírására szolgáló eszközök megvalósítását.
- A git repo structure parancs kimenetébe bekerült az összes elérhető objektum (reachable) méretének információja a tárolóban, típusonkénti bontásban. Az információ most már olvasható formában jelenik meg mértékegységekkel, és külön mutatja az aktuális és a lemezen elfoglalt méretet, így lehetőséget biztosít a tároló általános lemezméretének értékelésére:
$ git repo struktúra | Repozitórium struktúra | Hodnota | | ——————— | ———- | | * Referencie | | | * Počet | 1.78 k | | * Vetvy | 5 | | * Označenia | 1.03 k | | * Diaľnice | 749 | | * Iné | 0 | | | | | * Dosažiteľné objekty| | | * Počet | 421.37 k | | * Záväzky | 88.03 k | | * Stromy | 169.95 k | | * Bloby | 162.40 k | | * Označenia | 994 | | * Nafúknutá veľkosť | 7.61 GiB | | * Záväzky | 60.95 MiB | | * Stromy | 2.44 GiB | | * Bloby | 5.11 GiB | | * Označenia | 731.73 KiB | | * Disková veľkosť | 301.50 MiB | | * Záväzky | 33.57 MiB | | * Stromy | 77.92 MiB | | * Bloby | 189.44 MiB | | * Označenia | 578.13 KiB |
- Do tímu git údržba bola pridaná podpríkaz is-needed na vykonávanie údržbových operácií repozitára len v prípade potreby.
- V experimentálnom tíme git replay bolo štandardne implementované aktualizovanie odkazov v transakcii namiesto zobrazenia, kam by mali odkazovať odkazy, bez aktualizácie.
- Do tímu git blame bola pridaná možnosť výberu algoritmu hodnotenia rozdielov pomocou voľby —diff-algorithm=.
- Do tímu git repo info bola pridaná voľba —all.
- Z Git-for-Windows bola prenesená podpora symbolických odkazov pre platformu Windows.
Do posledného vydania bola pridaná figyelmeztetés predvolené povolenie zostavenia komponentov v jazyku Rust v Git 2.53. Avšak, v skutočnosti v verzii Git 2.53 iba hozzáadva niektoré vylepšenia podpory Rust (možnosť zostavenia bez GNU sed), ale zostavenie s Rust pri použití Makefile zostalo predvolene vypnuté (vyžaduje nastavenie praporku WITH_RUST), a pri použití Meson automaticky sa aktivuje v prípade prítomnosti kompilátora rustc. V verzii Git 3.0 by mali byť zahrnuté do skupiny povinných závislostí pri zostavovaní. 2. februára bolo predstavené vydanie distribuovaného systému riadenia zdrojového kódu
Forrás: linux.org.ru
