Kolme kuu arendustöö järel on välja antud hajusate lähtekoodihalduse süsteemide Git 2.32 versioon. Git on üks populaarsemaid, usaldusväärsemaid ja kõrge jõudlusega versioonihaldussüsteeme, pakkudes paindlikke vahendeid mitte-lineaarseks arenduseks, mis põhinevad harude loomiseks ja harude ühendamiseks. Ajaloo terviklikkuse ja tagasiulatuva muutuse kindlustamiseks kasutatakse igas commit'is kogu varasema ajaloo vaiku häshetamist, samuti on võimalik kinnitada arendajate digitaalsete allkirjadega eraldi silte ja commite.
Võrreldes eelmise väljaandega on uude versiooni lisatud 617 muudatust, mille on ette valmistanud 100 arendajat, kellest 35 osalesid arenduses esmakordselt. Peamised uuendused:
- Käsku «git commit» on lisatud valik «—trailer [=]», mis lihtsustab enda struktureeritud teabe (trailer) kinnitamist commit'ile võtme/väärtuse formaadis, mida saab hiljem käsitleda käsuga «interpret-trailers».
- GIT_CONFIG_NOSYSTEM mehhanismi asemel, mis takistab süsteemiülese konfiguratsioonifaili lugemist, on pakutud kasutada mehhanismi GIT_CONFIG_SYSTEM, mis võimaldab selgelt määrata, millisest failist tuleks laadida süsteemiülesed seaded, samuti parameetrit GIT_CONFIG_GLOBAL, et üle kirjutada eraldi kasutajatele seotud seadeid $HOME/.gitconfig. GIT_CONFIG_SYSTEMi tühja väärtuse määramine muudab käitumise GIT_CONFIG_NOSYSTEMi vastavaks.
- Teise versiooni suhtlusprotokolli Git kasutamisel on «git push» käivitamisel rakendatud üldise eelkäija määramist vastuvõtva poolel, mis on võimaldanud viia «git push» toimimise efektiivsuse «git fetch» tasemele ja kõrvaldada objektide allalaadimine, mis ei ole vajalik.
- Lihtne IPC-liides on lisatud, võimaldades luua teenuseid, nagu fsmonitor.
- Failide «.gitattributes», «.gitignore» ja «.mailmap» töötlemine on lõpetatud, kui need on sümboolsed lingid.
- HTTP-transpordi jaoks on lisatud parooli vahemälu toetus, mida on edukalt kasutatud sertifikaadi lukust avamiseks.
- Käsk «git stash show» on saanud võimaluse näidata jälgimata osa ajutiselt eemaldatud failide hoidlast.
- Käsk «git repack» pakub edasijõudnud strateegiat hoidla uuesti pakkimiseks, mis vähendab ressursside tarbimist pakkimise ajal.
- Käsk «git commit» on saanud laiendatud variandi valikust «—fixup» (komiti loomine «rebase —autosquash» jaoks) — «—fixup=(reword|amend):», mis annab valiku: muuta ainult logi sõnumit või nii sõnumit kui ka sisu.
- Käsku «git send-email» on arvesse võetud seadistuse core.hooksPath seadmine.
- Käsk «git format-patch -v<n>» lubab kasutada loendureid, mis pole täisarvud.
- Käsku «git clone» on lisatud valik «—reject-shallow», mis lubab keelata kloonimise madala ajaloo režiimist (shallow).
- Programmi «gitweb» on lisatud e-kirja peitmise režiim, mis asendab sarnased e-kirja read väljundis.
- Käsku «git apply —3way» on muudetud loogikat, mis nüüd esmalt proovib rakendada kolmekülgsete sulandumise algoritmi ja ainult vea või konflikti tekkimise korral tagurdub tavalise plaastri rakendamise peale (varem oli vastupidi).
- Käskluses «git apply» on lubatud korraga kasutada valikuid «—3way» ja «—cached».
- Userdiffi on lisatud malli keelele «Scheme».
- Käsklusse «git log» on lisatud valik «—diff-merges=» ja seadistus log.diffMerges vaikerežiimi valimiseks.
- Käskudesse «git add» ja «git rm» on lisatud täiendav kaitse andmete muutmise eest teede puhul, mis asuvad väljaspool osalise kloonimise (sparse checkout) ulatust.
- Käsklasse «git rev-list» on lisatud valik «—filter=object:type=» teatud tüüpi objektide välistamiseks pack-failist, mida genereerib käsk pack-objects.
- Käskluses «git pack-objects» on keelatud negatiivsete väärtuste määramine valikutele, mis võtavad numbrilisi väärtusi, nagu «—window» ja «—depth».
Allikas: opennet.ru
