Git 2.56 versiooni vÀljalase

Esitati sĂŒsteemi juhtimise allika koodide Git 2.56 versioon. Git'i kood levib GPLv2+ litsentsi alusel. Uude versiooni on lisatud 748 muudatust, mille on teinud 104 arendajat, kellest 39 osaleb Git'i arenduses esmakordselt. Peamised uuendused (1, 2, 3):

  • Lisatud reĆŸiim „git add —resolved“ konfliktide lahendamiseks, mis kontrollib faile konfliktimarkeeride olemasolu osas ja palub, kui vĂ€hemalt ĂŒhes failis on leitud mĂ€rk, tehes vigade teate, indekseerimata ĂŒhtegi faili ja pakkudes nimekirja failidest, mis vajavad parandamist. Erinevalt kĂ€sust „git add —update“ töödeldakse uues reĆŸiimis ainult konflikti olekus olevaid faile, samas kui konflikti mittekuuluvad muudetud failid jĂ€etakse tĂ€helepanuta, mis vĂ”imaldab ohutult lĂ”ppeda harude liitmisega, isegi kui töökaustas on teisi lĂ”petamata muudatusi (kĂ€sk „git add —update“ lisab indeksisse kĂ”ik eelnevalt Ă€ra tuntud muudetud failid töökaustas).
  • Töötamine suurte hoidlate puhul on mĂ€rgatavalt kiirem, kuna on optimeeritud algoritmi viimaste ĂŒhiste kinnituste otsimiseks harude liitmisel ja kinnituste vĂ”rdlemisel. Töö kĂ€igus arvestatakse nĂŒĂŒd kinnitusi, mis kuuluvad ainult ĂŒhele harule, mis vĂ”imaldab skaneerimise koheselt peatada, kui kĂ”ik vĂ”imalikud ĂŒhised eelkĂ€ijad on tuvastatud, raiskamata aega tĂ€iendaval muutuste ajaloos. Ühes testitud hoidlas suurenes otsimiskiirus keskmiselt 20 korda, teises saavutati kiirus 70 korda. KĂ€su „git merge-base —all v4.8 v4.9“ tĂ€itmisel Linuxi tuumaga hoidlas vĂ€henes ĂŒletamise samme 167 000-lt 3,8 tuhandele.
  • Serverikasutuseks kohandatud reĆŸiim „—path-walk“, mis vĂ”imaldab luua kompaktsemaid pack-faile, grupeerides objekte nende teede jĂ€rgi kaustade puus (nĂ€iteks hoolduses Fluent UI vĂ€hendas „—path-walk“ kasutamine pack-faili suurust 558 MB-lt 164 MB-le). Uues versioonis on rakendatud vĂ”imalus kasutada reĆŸiimi „—path-walk“ koos kĂ€ttesaadavuse bitmapsidega ja delta saartega, mida git-majutajad kasutavad töötamise kiirendamiseks ja forkte peamise hoidla isolatsiooni tagamiseks.
  • Eemaldatud kitsaskohad, mis pĂ”hjustasid liigseid arvutusi suurtes hoidlates: eemaldatud liigsed failide oleku kontrollid reftable'i kirjutamisel; vĂ€listatud uuesti skaneerimine nimekirja igakordsel uue pakifaili lisamisel; kiirendatud reftable'i operatsioonid, kus on palju kustutamise kirjeid; optimeeritud 'git diff' töö, kui failiteede piirangud on mÀÀratud. PĂ€rast optimeerimist on reftable'i töö suures kustutamisel kiirenud 65 korda (13 sekundilt 0.2 sekundini), ja probleemse kĂ€su 'git diff' kĂ€itamine Chromiumi hoidlas, mille indeksis on 500000 elementi, vĂ”tab aega 0.07 sekundit, mitte 8 minutit.
  • Eksperimentaalsesse 'git history' meeskonda, mis pakub vĂ”imalusi muudatuste ajaloos ĂŒmberkirjutamiseks, on lisatud kĂ€sk 'git history drop', et eemaldada valitud commit, automaatselt sidudes selle jĂ€reltulijad vanemkomitiga.
  • Lisatud kĂ€sk 'git branch --delete-merged ‘origin/*’ ‘topic-*’' ohutuks rĂŒhmade kohalike harude kustutamiseks, mille muudatused on juba edastatud vĂ€lisesse hoidlasse. Harude ja hoidlate filtreerimiseks on lubatud kasutada mustreid. Kustutamise kandidaate analĂŒĂŒsimiseks, ilma toimingu tegeliku teostamiseta, saab kasutada lippu '--dry-run'.
  • Lisatud kĂ€sk 'git refs create|update|delete|rename', mis ĂŒhendab madalama taseme toimingud linkide loomisel, kustutamisel, ĂŒmbernimetamisel ja vĂ€rskendamisel.
  • KĂ€sku 'git bisect run' on lisatud valik '--reset-when-found=[]', mis tagastab automaatselt hoidla seisundisse, mis oli enne otsingu algust, vĂ”i jĂ€tab aktiivseks probleemse commit'i, ilma et oleks vaja eraldi kĂ€ivitada kĂ€sku 'git bisect reset'.
  • KĂ€sku 'git replay' on lisatud lipp '--linearize' tasapinnalise sulandumise topoloogia kasutamiseks, sarnaselt 'git rebase --no-rebase-merges'-le, kuid ilma tööpuu juurde pöördumata.
  • KĂ€sk 'git log --follow' on teostatud failinimede jĂ€lgimine mittelineaarses muudatuste ajaloos, nĂ€iteks alamsulgude sulandumisel. Failitee kinnitatakse nĂŒĂŒd eraldi iga vanemkomiti jaoks, muutes tulemuse sĂ”ltumatuks commit'ite ajaloost lĂ€bimise jĂ€rjekorrast.
  • Lisatud on vĂ”imalus kasutada kĂ€sku «git repack -a —filter=blob:limit=1m —drop-filtered» suurte blob-objektide eemaldamiseks, mis on laaditud on-demand vĂ€listest hoidlatest ja mida ei kasutata praeguses indeksis. Nende objektide juurde pöördudes laaditakse need automaatselt uuesti.
  • KĂ€sku «git log —graph» on tĂ€iendatud mitme sĂ”ltumatu juurega graafide jaoks, et visuaalselt eraldada omavahel seotud commit'e.
  • Tagatud on tĂŒĂŒpiliste trĂŒkivigade tuvastamine, nagu nĂ€iteks «git push origin/main» asemel «git push origin main» vĂ”i «git branch —set-upstream-to origin main» asemel «git branch —set-upstream-to=origin/main», ning antakse soovitus kasutamiseks Ă”ige versioon.

Allikas: opennet.ru

Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster