Käes on väljaanne jaotatud allika juhtimissüsteemist Git 2.53. Git paistab silma kõrge jõudluse poolest ja pakub abinõusid mittelineaarses arvestuses, mis põhinevad harude ja ühenduste loomisel. Ajaloo terviklikkuse ja tagasivaatavate muutuste suhtes vastupidavuse tagamiseks kasutatakse iga commitiga koos eelneva ajaloo varjatud hash'imist ning arendajate digiallkirju erinevate siltide ja commitide jaoks. Git kood levitatakse GPLv2+ litsentsi alusel.
Uues versioonis on võrreldes eelmisega vastu võetud 466 muudatust, mille on valmistanud 70 arendajat (21 neist osales Git arendamises esmakordselt). Peamised uuendused:
- Lisatud on võimalus rakendada repode pakkimisstrateegiat "geometric" ("git repack --geometric") osaliselt kloonitud välistele repodele, mis töötavad "promisor" režiimis (puuduolevad objektid laaditakse vajadusel alla). Uuesti pakkimisel "--geometric" valikutega töödeldakse ja pakitakse eraldi "promisor" laiendiga pakifailid. "Geometric" strateegia võimaldab vähendada suurte monorepostite hooldusaega, tehes valikulisi objektide ümberpakendamisi ja välistades liigseid ressursitavaid operatsioone, nagu kõigi pakifailide ühendamine (säilib pakifailide suuruse geomeetriline progressioon, kus iga järgmine pakifail peab olema vähemalt kaks korda suurem kui eelmine).
- «git fast-import» meeskonda on lisatud valik «—signed-commits=strip-if-invalid», mis eemaldab digitaalallkirjad imporditud objektidest, mis on pärast osa repo ajaloost üle kirjutamist muutunud kehtetuks. Enne seda sai valida kas importimise või kõigi allkirjade eemaldamise, ilma et oleks võimalik eristada kehtivaid ja mõtet kaotanud allkirju. Valik «strip-if-invalid» võimaldab luua tööriistu kehtivate allkirjade säilitamiseks ja kehtetuks muutunud objektide uuesti allkirjastamiseks.
- Käsku «git repo structure» on lisatud teave kõigi kätte saadavate objektide (reachable) suuruse kohta hoidlas nende tüüpide lõikes. Teave kuvatakse nüüd loetaval kujul koos mõõtühikutega ning eraldi näidatakse tegelikku ja kettaruumi suurust, mis võimaldab hinnata hoidla üldmahtu kettal. $ git repo structure | Repository structure | Value | | ——————— | ———- | | * References | | | * Count | 1.78 k | | * Branches | 5 | | * Tags | 1.03 k | | * Remotes | 749 | | * Others | 0 | | | | | * Reachable objects | | | * Count | 421.37 k | | * Commits | 88.03 k | | * Trees | 169.95 k | | * Blobs | 162.40 k | | * Tags | 994 | | * Inflated size | 7.61 GiB | | * Commits | 60.95 MiB | | * Trees | 2.44 GiB | | * Blobs | 5.11 GiB | | * Tags | 731.73 KiB | | * Disk size | 301.50 MiB | | * Commits | 33.57 MiB | | * Trees | 77.92 MiB | | * Blobs | 189.44 MiB | | * Tags | 578.13 KiB |
- Käsku «git maintenance» on lisatud alamkäsk «is-needed» hoidla hooldustööde teostamiseks ainult vajaduse korral.
- Eksperimendi meeskonnas on «git replay» vaikimisi rakendatud linkide värskendamine tehingus, selle asemel, et näidata, kuhu lingid peaksid suunama, ilma värskendamata.
- Komandisse «git blame» on lisatud võimalus valida erinevuste hindamise algoritmi, kasutades valikut «—diff-algorithm=».
- Komandisse «git repo info» on lisatud valik «—all».
- Git-for-Windows'ist on Windowsi platvormile üle viidud sümboolsete linkide tugi.
Eelmisse väljaandesse lisati hoiatuse teade, et Git 2.53-s on vaikimisi lubatud Rusti komponentide kogumise võimalus. Siiski on Git 2.53-s tegelikult lisatud vaid eraldi täiustused Rusti toe osas (võimekus koguda ilma GNU sed-ta), kuid Rusti kogumine Makefile'i kasutamisel on vaikimisi välja lülitatud (nõuab WITH_RUSTi lipu seadistamist) ning Mesoni kasutamisel aktiveeritakse see automaatselt, kui rustc kompilaator on olemas. Git 3.0 versioonis plaanitakse Rusti tööriist komplekteerida kohustuslike ehitus sõltuvuste hulka.
Allikas: opennet.ru
