PĂ€rast kahte kuud arendust on avaldatud hajustatud versioonihaldussĂŒsteemi Git 2.35 vĂ€ljaanne. Git on ĂŒks populaarsemaid, usaldusvÀÀrsemaid ja suure jĂ”udlusega versioonihaldussĂŒsteeme, mis pakub paindlikke mitte-lineaarse arenduse vahendeid, mis pĂ”hinevad harude ja harude ĂŒhendamise peal. Ajaloo terviklikkuse ja muudatustele «tagasiulatuvalt» vastupidavuse tagamiseks kasutatakse kogu varasema ajaloo varjatud rĂ€simist igas pĂŒhenduses, samuti on vĂ”imalik arendajate digiallkirjadega kinnitada eraldi silte ja pĂŒhendusi.
Uue versiooni vÔrreldes eelmise vÀljaande suudeti vastu vÔtta 494 muudatust, mille koostamisel osales 93 arendajat, kellest 35 osales arendustegevuses esmakordselt. Peamised uuendused:
- SSH-vĂ”tmete kasutamisvĂ”imalusi on laiendatud Git-objektide digitaalallkirjastamise kinnitamiseks. Mitme vĂ”tme kehtivuse ajavahemiku eristamiseks lisati OpenSSH-dokumendi âvalid-beforeâ ja âvalid-afterâ tugi, millega saab tagada allkirjade korraliku toimimise pĂ€rast ĂŒhe arendaja vĂ”tme vahetamist. Varem oli probleem vanade ja uute vĂ”tmete allkirjade eristamises â vana vĂ”tme kustutamisel ei olnud vĂ”imalik kontrollida selle abil tehtud allkirju ja kui seda mitte eemaldada, jĂ€i vĂ”imalus uute allkirjade loomiseks vana vĂ”tmega, millele oli asendatud uus vĂ”tme. Valid-before ja valid-after abil saab vĂ”tmete kehtivusala jagada allkirja loomise aja alusel.
- Merge.conflictStyle seadistuses, mis vĂ”imaldab valida teavet konfliktide lahendamise vormimisreĆŸiimi, on nĂŒĂŒd saadaval tugi âzdiff3â reĆŸiimile, mis viib kĂ”ik tĂŒĂŒpilised ridade konfliktide piirkonna alguses vĂ”i lĂ”pus vĂ€lja, vĂ”imaldades saavutada kompaktsema teabe esitamise.
- Git stash kĂ€sku on lisatud reĆŸiim "--staged", mis vĂ”imaldab peita ainult indekseeritud muutused, nĂ€iteks olukordades, kus on vajalik ajutiselt kĂ”rvale jĂ€tta osa keerukatest muudatustest, et esmalt lisada juba valmiskujul olev osa ning teistega tegeleda hiljem. See reĆŸiim sarnaneb kĂ€suga "git commit", mis salvestab ainult indekseeritud muudatused, kuid uue commit'i loomise asemel salvestatakse "git stash --staged" tulemused ajutisse stash alasse. Kui muudatused hiljem vajalikuks osutuvad, saab need taastada kĂ€suga "git stash pop".
- KĂ€sku «git log» on lisatud uus formaadispecifikaator «âformat=%(describe)», mis vĂ”imaldab ĂŒhendada «git log» vĂ€ljundi ja kĂ€su «git describe» tulemuse. «Git describe» parameetrid mÀÀratakse otse spetsiifikaatoris («âformat=%(describe:match=,exclude=)»), kus saab samuti lisada lĂŒhendatud silte («âformat=%(describe:tags=)») ja kohandada objekti ID-de heksakoodide arvu («âformat=%(describe:abbrev=)»). NĂ€iteks 8 viimase commit'i vĂ€ljastamiseks, mille silte ei ole seotud vĂ€ljaandekandidaadiga, ja 8-kohaliste identifikaatorite mÀÀramiseks saab kasutada kĂ€sku: $ git log -8 âformat='%(describe:exclude=*-rc*,abbrev=13)' v2.34.1-646-gaf4e5f569bc89 v2.34.1-644-g0330edb239c24 v2.33.1-641-g15f002812f858 v2.34.1-643-g2b95d94b056ab v2.34.1-642-gb56bd95bbc8f7 v2.34.1-203-gffb9f2980902d v2.34.1-640-gdf3c41adeb212 v2.34.1-639-g36b65715a4132
- Kasutaja mÀÀrangu user.signingKey seade toetab uusi vĂ”tme tĂŒĂŒpe, mitte piiratud «ssh-» tĂŒĂŒbi ja vĂ”tme tĂ€ispika failitee mÀÀramisega. Alternatiivsed tĂŒĂŒbid mÀÀratakse prefiksi «key::» abil, nĂ€iteks «key::ecdsa-sha2-nistp256» ECDSA vĂ”tmete jaoks.
- MĂ€rgatavalt on paranenud muudatuste nimekirja genereerimise kiirus reĆŸiimis ââhistogramâ ning ka valikuga ââcolor-moved-wsâ, mis reguleerib ruumide vĂ€rvilisest diff'ist esiletĂ”stmist.
- KĂ€skluses âgit jumpâ, mis on mĂ”eldud Vim'ile teabe edastamiseks tĂ€psete ĂŒleminekute kohta soovitud asukohas failis konfliktide lahendamisel, muudatuste vaatamisel vĂ”i otsingu tegemisel, on lisatud vĂ”imalus kitsendada hĂ”lmatud ĂŒhinemis-konflikte. NĂ€iteks, et piirata toimingud ainult kataloogiga âfooâ, vĂ”ib kasutada kĂ€sku âgit jump merge â fooâ, ja et vĂ€listada töötlemisest kataloog âDocumentationâ, vĂ”ib kasutada kĂ€sku âgit jump merge â ':^Documentation'â.
- Tehtud töö âsize_tâ tĂŒĂŒbi standardiseerimise nimel, selle asemel et kasutada âunsigned longâ objekte suuruse esindamiseks. See vĂ”imaldas rakendada filtrite âcleanâ ja âsmudgeâ kasutamist failidega, mis on suuremad kui 4 GB kĂ”ikidel platvormidel, sealhulgas LLP64 andmemudeli platvormidel, kus âunsigned longâ tĂŒĂŒp on piiratud 4 baitiga.
- Meeskonda âgit amâ on lisatud valik ââempty=(stop|drop|keep)â, mis vĂ”imaldab tĂ€htsusetute ega patch'ide sisaldavate e-kirjade töötlemisel valida kĂ€itumist. VÀÀrtus âstopâ lĂ”petab kogu patch'e rakendamise operatsiooni, âdropâ ignoreerib tĂŒhja patch'i, âkeepâ loob tĂŒhja kommita.
- KĂ€skudele âgit resetâ, âgit diffâ, âgit blameâ, âgit fetchâ, âgit pullâ ja âgit ls-filesâ on lisatud toetus osalistele indeksitele (sparse index), mis aitavad parandada jĂ”udlust ja sÀÀsta ruumi ladustamises, kus tehakse osalist kloonimist (sparse-checkout).
- KĂ€sk âgit sparse-checkout initâ on vĂ€lja kuulutatud vananenuks, selle asemel tuleks kasutada âgit sparse-checkout setâ.
- Lisatud on uue âreftableâ tagasiside algeline teostus, mis salvestab linke, nagu harud ja sildid, hoidlas. Uus tagasiside kasutab plokkhoidlat, mida rakendab projekt JGit ja mis on optimeeritud vĂ€ga suure arvu linkide salvestamiseks. Praegu ei ole tagasiside integreeritud viidete sĂŒsteemiga (refs) ja see pole veel praktiliseks kasutamiseks valmis.
- KĂ€sku âgit grepâ vĂ€rvipalett on kohandatud GNU grep utiliidiga.
Allikas: opennet.ru
