Kaks kuud kestnud arendustöö jĂ€rel on avaldatud jaotatud versioonihaldussĂŒsteemi Git 2.45. Git on ĂŒks populaarsemaid, usaldusvÀÀrseimaid ja kĂ”rge jĂ”udlusega versioonihaldussĂŒsteeme, mis pakub paindlikku ebajoonelist arendust, mis pĂ”hineb harude jagamisel ja ĂŒhendamisel. Ajaloo terviklikkuse ja ajast tĂ”husate muudatuste kaitsmiseks kasutatakse varjatud hashes'ingut, mis katab kogu senise ajaloo igas commit'is; samuti on vĂ”imalik arendajate digitaalsete allkirjadega kinnitada eraldi silte ja commit'e. Git'i kood on litsentseeritud GPLv2+ all.
Uues versioonis on vÔrreldes eelmise vÀljaande jaotatud 540 muudatust, mille on ette valmistanud 96 arendajat, kellest 35 osaleb arendustöös esmakordselt. Peamised uuendused:
- Lisatud eelnev toetus «reftable» tagaplaanile, et tĂ”husalt sĂ€ilitada ladustamisruumis viiteid harudele ja siltidele. Uus tagaplaan kasutab plokkide ladustamist, mida rakendab projekt JGit ja mis on optimeeritud vĂ€ga suure hulga viidete sĂ€ilitamiseks (traditsioonilised viidete ladustamisformaadid toovad suurte viidete arvuga ladustamisruumides kaasa mĂ€rkimisvÀÀrseid kulusid, kuna suure hulga failide paigutamine ĂŒhte katalooge, kui viiteid hoitakse kataloogis $GIT_DIR/refs, vĂ”i vajadus ĂŒhte suurt faili uuendada iga kord, kui viidete hoidmine on failis $GIT_DIR/packed_refs). Uus tagaplaan aktiveeritakse, kui algatamisel mÀÀratakse parameeter «âref-format=reftable» («git init âref-format=reftable /tee/repositori») ja vĂ”imaldab kiirendada otsingut, lugemist ja kirjutamist suurte viidete arvuga ladustamisruumides.
- Pakutakse vahendeid objektide identifikaatorite ĂŒhilduvuse tagamiseks SHA-1 ja SHA-256 hĂ€sherite alusel. SHA-1 ja SHA-256 hĂ€sherite toetamiseks ĂŒhes ladustamisruumis, kui minnakse jĂ€rk-jĂ€rgult ĂŒle SHA-256 hĂ€sherite kasutamisele, on ette pandud uus objekti formaat «compatibility», mis vĂ”imaldab viidata objektidele mitte ainult peamise hashi kaudu, mis on mÀÀratud ladustamisruumi algatamisel, vaid ka reservhashe kaudu. NĂ€iteks ladustamisruumi algatamisel saab valida SHA-256 formaadi ja reserveerida SHA-1 hashi: git init âobject-format=sha256 /tee/repositori cd /tee/repositori git config extensions.compatObjectFormat sha1
- Git rev-list komandasse lisati vĂ”imalus kuvada objektide identifikaatoreid, mis puuduvad kohalikus repos, isegi kui need pole haru vĂ”i sildi kaudu kergesti ligipÀÀsetavad, mida saab kasutada repode kahjustuse diagnoosimiseks: git rev-list --missing=print --all | grep â^?â ?70678e7afeacdcba1242793c3d3d28916a2fd152
- Uus kÀsk «git reflog list» on lisatud, et nÀidata tuntud refloge ja vastavaid sildila ja harude linke.
- Mahutatakse vÔimalus mÀÀrata alternatiivseid prefikseid «git diff» vÀljundiks, mis kuvatakse enne failiteed ja tÀhistab faili teatud versiooni eel- ja jÀrgnevast olekust (vaikimisi kasutatakse prefikseid «a/» ja «b/»). Oma prefiksite mÀÀramiseks on konfiguratsiooni lisatud uued parameetrid diff.srcPrefix ja diff.dstPrefix.
- Lisatud on core.commentString parameeter, et mÀÀrata eraldurida, mis kasutatakse selle asemel, et kasutada sĂŒmbolit «#» kommentaaride ignoreerimiseks commit-sĂ”numis. Varasemalt olemas olnud seadistus core.commentChar on kohandatud, et toetada mitme baitide sĂŒmboleid kommentaari eraldajana (varem toetati ainult ASCII sĂŒmboleid).
- Git config kĂ€sule on lisatud valik «--comment», mis vĂ”imaldab salvestada kommentaare .gitconfig failis, et selgitada kergelt mĂ”ningaid seadistusi. git config --comment âto show the merge baseâ merge.conflictStyle diff3 tail -n 2 .git/config [merge] conflictStyle = diff3 # to show the merge base
- Git cherry-pick kĂ€sku on lisatud valik «--empty», et automaatselt eemaldada ĂŒlearused kinnitus, sarnaselt valikuga «--empty» git-rebase ja git-am.
- Git checkout -p kĂ€sk lubab kasutada sĂŒmbolit «@» kui sildi «HEAD» sĂŒnonĂŒĂŒmi.
Allikas: opennet.ru
