Megjelent a Git 2.50

Segítséget kaptál? Szívesen töltöd itt az idődet? Visszajársz hozzánk? Támogasd a munkákat: Ko-fi(külső hivatkozás) és Paypal(külső hivatkozás)!

Ajánló:
A fejlesztők örömére a Git 2.50 végleg lecseréli a régi recursive összevonási motort a korszerűbb és gyorsabb ORT megoldásra. Emellett számos újdonság és fejlesztés érkezett, amelyek hatékonyabbá teszik a karbantartási és összevonási műveleteket a nagyobb tárolókban is.

Vége a recursive korszaknak: itt az ORT

A Git új összevonási motorja, az ORT (Ostensibly Recursive’s Twin), amely már a 2.33-as verzióban bemutatkozott és 2.34 óta az alapértelmezett, most végleg kiszorítja a korábbi „recursive” motort. Az ORT nemcsak

gyorsabb és megbízhatóbb, hanem képes olyan műveletekre is, mint például a merge-képesség tesztelése anélkül, hogy tényleges összevonási objektumot hozna létre.

Újdonságok a „cruft pack” kezelésében

A cruft pack funkció — amely az elérhetetlenné vált objektumokat tárolja — már korábban megjelent (Git 2.37), de használata eddig kissé körülményes volt. A Git 2.50 bevezeti a --combine-cruft-below-size opciót, amellyel könnyen összevonhatók a kis méretű cruft csomagok, így javítva a repók hosszú távú egészségét.

Hatékonyabb bitmap-kezelés nagy projektekhez

A nagy méretű tárolók kezelése szintén fejlődött: a Git 2.50 bevezeti az inkrementális, több csomagot lefedő elérhetőségi bitképeket (multi-pack reachability bitmaps). Ez tovább épít a 2.47-es verzióban megjelent többcsomagos indexelésre, és lehetővé teszi a bitképek fokozatos frissítését, ami jelentős gyorsulást hozhat a tárolók átvizsgálásában.

Fejlesztések a git cat-file és git maintenance eszközökben

A fejlesztőknek szánt eszközök is bővültek:

  • A git cat-file mostantól egyszerűbb objektumszűrést tesz lehetővé.
  • A régi --allow-unknown-type kapcsolót eltávolították, hogy egyszerűbb legyen a működés.
  • A git maintenance új feladatokat támogat:

    • worktree-prune – a felesleges munkakönyvtárak eltávolítása
    • rerere-gc – konfliktusmegoldási előzmények törlése
    • reflog-expire – lejárt hivatkozási naplók automatikus törlése
  • Emellett lehetőség van a laza objektumok tömörítésének tételenkénti méretezésére is.

Egyéb fejlesztések

  • Új konfigurációk a TCP keepalive viselkedéshez, ami javítja a HTTP-kapcsolatok stabilitását.
  • A Perl-függőség lényegesen csökkent, a tesztkészletből és dokumentációs rendszerből teljesen eltávolították, ezáltal nőtt a hordozhatóság.
  • A felhasználói élményt finomhangolták:

    • Jobban értelmezhető kommentek az interaktív rebase során.
    • Hatékonyabb működés a sparse checkout esetén, különösen a git add -p és git add -i használatakor.

A Git 2.50 minden eddiginél gyorsabb, letisztultabb és felhasználóbarátabb eszközt kínál a verziókezeléshez – különösen a nagyméretű tárolókon dolgozó fejlesztők számára.

A teljes változáslista és további részletek elérhetők a hivatalos bejelentésben(külső hivatkozás).