
A Git projekt új karbantartási kiadásokat jelentetett meg(külső hivatkozás). Az egyik legfontosabb újdonság a felújított név-hash függvény (name-hash function), amely hatékonyabb delta tömörítést biztosít azáltal, hogy intelligensebben csoportosítja a hasonló objektumokat. Ez különösen akkor hasznos, ha egy nagy fájl apró módosításokon megy keresztül, mivel ilyenkor Git hatékonyabban képes a korábbi verziókra hivatkozva tárolni az új változatokat. Továbbá a git backfill nevű új funkció csökkenti az egyenkénti letöltések számát azáltal, hogy az előzményfájlok blob kéréseit egyetlen műveletbe tömöríti. Ahelyett, hogy egyesével kérné le az egyes objektumokat, a rendszer most fájlútvonalak szerint csoportosítja azokat, ami kevesebb hálózati terhelést és jobb tömörítést eredményez. Amennyiben a --sparse opció engedélyezve van, a git backfill csak a sparse checkout konfiguráció szerint releváns objektumokat tölti le, ami tovább javítja a hatékonyságot.Zlib-ng támogatás a gyorsabb tömörítés érdekében
A Git 2.49 bevezeti a zlib-ng támogatását, amely a jól ismert zlib könyvtár egy modern változata. Ez a fejlesztés az SSE2 és AVX2 SIMD utasításkészletek optimalizálásával és a régi kódrészletek egyszerűsítésével jelentős sebességnövekedést biztosít az adatok tömörítése és kicsomagolása során.
Rust érkezése a Git ökoszisztémába
A Git 2.49 az első Rust alapú fejlesztéseket is bemutatja:
-
libgit-sys és libgit Rust crate-ek
Ezek a könyvtárak Git belső függvényeinek egy részét csomagolják alacsony és magas szintű Rust API-kba, amely a jövőben stabilabb és biztonságosabb kódbázist eredményezhet.
Bár a jelenlegi implementáció még csak egy kezdeti prototípus, amely főként a config.h interfészre koncentrál, ez a lépés utat nyit a Rust-alapú fejlesztések előtt.
Ha valaha elgépelted a git push parancsot, például git psuh formában, akkor tapasztalhattad, hogy Git megpróbálja automatikusan kijavítani azt. Korábban, ha a help.autocorrect értékét “1”-re állítottad, a javított parancs szinte azonnal végrehajtásra került, ami váratlan hibákat okozhatott.
A Git 2.49 ezt az opciót átalakította, és most:
- "1" = be van kapcsolva, de nincs automatikus végrehajtás
- Nagyobb szám = végrehajtási késleltetés decimásodpercekben
Ez a változás megelőzi a nem kívánt parancsvégrehajtásokat, és egyértelműbbé teszi a beállítások működését.
További fejlesztés, hogy git clone most már támogatja a --revision opciót, amely lehetővé teszi tetszőleges commitok közvetlen klónozását anélkül, hogy azokhoz ág (branch) vagy címke (tag) tartozna.
Ez a funkció hasznos lehet például CI/CD folyamatokban vagy speciális build-környezetekben, ahol pontosan egy adott commit letöltésére van szükség bonyolult kézi beállítások nélkül.
A Git 2.49 főbb újdonságai:
- Gyorsabb és intelligensebb fájltömörítés (új name-hash funkció és git backfill)
- Zlib-ng támogatás a jobb tömörítésért
- Rust-alapú könyvtárak bevezetése (libgit-sys, libgit)
- Pontosságot növelő autocorrect javítások
- Új --revision opció a git clone számára
További részletek és a teljes változáslista elérhető a Git 2.49 hivatalos kiadási jegyzeteiben(külső hivatkozás).
