PĂ€rast kolme kuu arendust on vĂ€lja antud jaotatud versioonikontrolli sĂŒsteemi Git versioon 2.43. Git on ĂŒks populaarsemaid, usaldusvÀÀrsemaid ja kĂ”rge jĂ”udlusega versioonihaldussĂŒsteeme, mis pakub paindlikke vahendeid mittelineaarseks arendamiseks, mis pĂ”hinevad harude jagamisel ja liitmisel. Ajaloo terviklikkuse ja tagurpidimuutuste vastu kaitsmiseks kasutatakse igas kommis kogu eelneva ajaloo varjatud rĂ€simist, samuti on vĂ”imalik kinnitada arendajate digitaalsete allkirjadega eraldi silte ja kommitte.
VÔrreldes eelmine versiooniga on uude vÀlja antud 464 muudatust, mille on ette valmistanud 80 arendajat, kellest 17 osaleb arengus esmakordselt. Peamised uuendused:
- KĂ€sku "git repack" on lisatud valikud "âfilter" ja "âfilter-to", mis vĂ”imaldavad reposti pakkimist vastavalt antud objekti filtrile ning vajadusel viia eraldi kohta objektid, mis ei vasta antud filtrile. Valikuid saab kasutada reposti jagamiseks vastavalt teatud kriteeriumitele (nĂ€iteks vajaduseta vĂ”i liiga suurte objektide eemaldamine), tagades samas juurdepÀÀsu kĂ”igile osadele osalise kloonimise kaudu. NĂ€iteks, et jĂ€tta reposti blobid, mille suurus on alla 1 MB, ja viia eraldi reposti ĂŒlejÀÀnud suured objektid, saab teha: $ git init âbare ..\/backup.git $ git repack -ad âfilter='blob:limit=1m' \\ âfilter-to=..\/backup.git\/objects\/pack\/pack
Reposti algatamine osalise kloonimise kaudu vÔimaldab töötada mittetÀieliku reposti koopia ehk repositooriumi, korralikult töötades puuduvate objektide pÀringutega (puuduvate objektide pÀringul laaditakse need vajaduse korral reaalajas alla).
- Lisatud on vĂ”imalus töötada mitme pack-failiga, mis sisaldavad teavet kĂ€tte saamata objektide kohta ("cruft packs"), millele hoidlas ei ole linke (millele ei viita harud vĂ”i sildid). Uue valiku "git repack âmax-cruft-size" abil saab mÀÀrata eraldi pack-faili maksimaalse suuruse, et jagada kĂ€tte saamata objektide andmebaas vĂ€ikeste pack-failide seeriaks. Mitme vĂ€ikese pack-faili kasutamine ĂŒhe suure faili asemel vĂ”imaldab oluliselt vĂ€hendada sisendi/vĂ€ljundi operatsioone hoidlate taaskompresseerimise ajal, kuna iga taaskompresseerimise operatsiooni korral ei ole vaja kĂ”iki andmeid uuesti kirjutada.
- Lisatud on tuvastamine kahekordse commit'i tĂŒhistamise katsetest lĂ€bi "git revert" ja selle arvestamine tĂŒhistamise sĂ”numi koostamisel (kui teha korduv "git revert", salvestatakse "Reapply fix bug" asemel "Revert: Revert: fix bug" ning kui muudatus tĂŒhistatakse kolmandat korda, siis "Revert Reapply fix bug"). $ git revert âno-edit HEAD > /dev/null $ git revert âno-edit HEAD > /dev/null $ git log âoneline a300922 (HEAD -> main) Reapply "fix bug" 0050730 Revert "fix bug" b290810 fix bug
- Lubatud on kasutada valikuid "ârfc" ja "âsubject-prefix" koos. NĂ€iteks, et luua kiri, mille teema on prefiksiga "[RFC PATCH bpf-next]", saad mÀÀrata: $ git format-patch âsubject-prefix=»PATCH bpf-next» ârfc
- KĂ€skluses "git log" on lubatud kasutada tĂ€itjat "%(decorate)" seotud harude nimede nĂ€itamiseks, kui mÀÀrata formaat valiku "âformat" abil, nĂ€iteks: $ git log âformat='%cr%(decorate) (%h) %s' 3 pĂ€eva tagasi (HEAD -> master, origin/master, origin/HEAD) (e0939bec27) RelNotes: vĂ€iksed sĂ”nastuse parandused 2.43.0 vĂ€ljaannetes 7 pĂ€eva tagasi (silt: v2.43.0-rc1) (dadef801b3) Git 2.43-rc1 7 pĂ€eva tagasi (8ed4eb7538) Ăhenda haru âtb/rev-list-unpacked-fixâ
- KĂ€skluses "git for-each-ref" ja sarnastes kĂ€skudes on lisatud vĂ”imalus rakendada .mailmap reegleid, mis on mÀÀratud valiku "âformat" abil vormindusspetsiifikatoritele, nagu "%(authorname)" ja "%(committeremail)".
Allikas: opennet.ru
