Avaldatud on hajusate alltekstitöötlussĂŒsteemi Git 2.50. Git eristub kĂ”rge jĂ”udluse poolest ja pakub vahendeid mittelineaarseks arenduseks, mis pĂ”hinevad harude loomisel ja ĂŒhendamisel. Ajaloo terviklikkuse ja tagasivaatavate muudatuste suhtes kindlustunde saavutamiseks kasutatakse kogu varasema ajaloo varjatud hasheeringut igas commitâis, samuti arendajate digitaalsete allkirjade tĂ”endamise teel eraldi siltide ja commit'ide osas. Git'i kood on litsentseeritud GPLv2+ alusel.
VÔrreldes eelmise versiooniga on uude versiooni toodud 621 muudatust, mille on ette valmistanud 98 arendajat, kellest 35 osaleb arenduses esmakordselt. Peamised uuendused:
- Paranenud on vĂ”imalus jagada mitu pack-faili kĂ€tte saamata jÀÀnud objektide hulgast (âcruft packsâ), millele hoiustamisest puuduvad viidatud lingid (keegi ei viita harudele ega siltidele). Mitme vĂ€ikse pack-faili kasutamine suure ĂŒhe asemel aitab oluliselt vĂ€hendada sisendi/vĂ€ljundi operatsioone suurte kĂ€tte saamata objektide hulkade ĂŒmberpakendamisel, kuna iga ĂŒmberpakendamise operatsiooni jaoks ei pea kĂ”ik andmed uuesti kirjutama.
Uues versioonis on lisatud valik ââcombine-cruft-below-sizeâ, mille abil saab korraldada olemasolevate pack-failide ĂŒhendamist, mille suurus ei ĂŒleta antud vÀÀrtust. Erinevalt varasemast valikust ââmax-cruft-sizeâ ei piira uus valik ââcombine-cruft-below-sizeâ tulemuseks oleva pack-faili maksimaalset suurust, vĂ”imaldades efektiivsemalt ĂŒhenduda pack-failide hulkades, kus on palju kĂ€tte saamata objekte, mis on jaotatud erinevatesse pack-failidesse.
- Katsetatud on eksperimentaalne toetus MIDX (multi-pack index) inkrementaalsele uuendamisele, kus igas MIDX indeksi kihis on objektide kÀttesaadavuse teave salvestatud eraldi bitmap-faili. VÀga suurtes hoidlates pakuvad rakendatud indeksid vÔimalust kiiresti ja tÔhusalt lisada uusi kÀttesaadavuse bitmap'e objekti olemasolu korral.
- Vanem 'recursive' ĂŒhinemisse operatsiooni mootori koodibaasist eemaldati, selle asemel on tĂ€iesti ĂŒmber töötatud mootori 'ORT' (Ostensibly Recursiveâs Twin), mis on tĂ”husam, funktsionaalsem ja kergemini hooldatav. ORT vĂ”imaldab kahe objekti ĂŒhendamise vĂ”imaluse mÀÀramist, luues uute objekte hoidlas (vana mootori puhul pidi kĂ€ivitama kĂ€sku 'git merge-tree âwrite-tree', mis salvestas uusi objekte hoidlasse). Git 2.50-s on merge-tree kĂ€sk saanud vaikiva valiku 'âquiet', mis vĂ”imaldab ĂŒhendamise vĂ”imalust kontrollida tagasikutsumise koodi pĂ”hjal ilma andmete hoidlasse salvestamiseta.
- KĂ”ikide kĂ€su «git cat-file âbatch» ja sarnaste kĂ€skude juurde on lisatud valik «âfilter», mis vĂ”imaldab teatud objekte tegevuse kĂ€igus vahele jĂ€tta. git cat-file âbatch-check=â%(objectname)â âfilter=âobject:type=treeâ
- KÀsus «git maintenance» on rakendatud kolm uut toimingut: worktree-prune, rerere-gc ja reflog-expire. Toiming worktree-prune on mÔeldud vanade vÔi kahjustatud tööpuude (worktrees) eemaldamiseks hoidlast. Toiming rerere-gc kustutab vanad kirjed, mis jÀÀvad alles pÀrast sulandumisvaidluste lahendamist. Toiming reflog-expire eemaldab vanad, kÀtte saamata objektid reflog'ist.
- Lisatud on kÀsk «git reflog drop», mis eemaldab kÔik reflogi andmed mÀÀratud haru jaoks.
- Viidete töötlemise ja kasutamise optimeerimine on lÀbi viidud, nÀiteks on rakendatud viidete prefiksite vahemÀlu, eemaldatud on liigsed kontrollid kÀsu «git update-ref» tÀitmisel ja paranenud on olemasolevate viiteregisterite otsingu efektiivsus.
- cURL raamatukogule on lisatud KeepAlive seaded: http.keepAliveIdle, http.keepAliveInterval ja http.keepAliveCount.
- KĂ€sus «git rev-list» on rakendatud vĂ€ljundi vĂ”imalus, mis on masinloetav, kus iga vĂ€li on eraldatud NUL sĂŒmboliga.
- Perl keel on vĂ€lja jĂ€etud dokumentatsiooni tööriistade ja testikomplekti (âmake testâ) toimimiseks vajalikest sĂ”ltuvustest. Paljud Perl'i ĂŒhekordsed skriptid testides on asendatud shell'i funktsioonidega vĂ”i ĂŒmber kirjutatud C keeles.
- Lisatud userdiff-töötleja â.iniâ konfiguratsioonifailide vormingule.
- Komando send-email SMTP-serveri Outlook toe osas on parendusi tehtud.
Allikas: opennet.ru
