KĂ€esolev vĂ€ljaanne on hajus tekstihaldussĂŒsteem Git 2.31

Saadaval on hajus tekstihaldussĂŒsteem Git 2.31. Git on ĂŒks populaarsemaid, usaldusvÀÀrseid ja kĂ”rge jĂ”udlusega versioonihaldussĂŒsteeme, mis pakub paindlikke vahendeid mitte-lineaarseks arenduseks, tuginedes harude ja ĂŒhenduste sĂŒsteemile. Ajaloo terviklikkuse ja muudatuste suhtes tagasiulatuva mĂ”ju tagamiseks kasutatakse iga commit'i puhul varasema kogu ajaloo implitsiitset hash'imist, samuti on vĂ”imalik arendajate digitaalse allkirjaga kinnitada eraldi silte ja commit'e.

VÔrreldes eelmise vÀljaandega on uude versiooni kaasatud 679 muudatust, mille on ette valmistanud 85 arendajat, kellest 23 osaleb arenduses esmakordselt. Peamised uuendused:

  • Loodud on kĂ€sk «git maintenance», mis vĂ”imaldab teostada perioodilisi töid sĂŒsteemides, mis ei toeta cron'i. NĂ€iteks vĂ”imaldab uus kĂ€sk korraldada perioodilist reposti kompressiooni, et mitte oodata reposti lukustamise lĂ”ppu automaatse kompressiooni kĂ€ivitamise ajal erinevate kĂ€skude kĂ€ivitamisel. KĂ€sk «git maintenance» vĂ”imaldab teostada optimeerimisi ja sĂ€ilitada reposti optimaalset struktuuri taustprotsessis, blokeerimata interaktiivset seanssi — iga tunni jĂ€rel toimub vĂ€rskete objektide vĂ€ljatĂ”mmamine kaug-repost ja commit-graafi faili vĂ€rskendamine, öösel aga kĂ€ivitub reposti kompressiooni protsess.
  • Lisatud on tosupport diskil tagumise indeksi (revindex) haldamiseks pack-failide puhul. Tuletame meelde, et Git salvestab kĂ”ik andmed objektide kujul, mis asuvad eraldi failides. TĂ”hususe parandamiseks paigutatakse objektid lisaks pack-failidesse, kus teave esitatakse objektide voona, mis jĂ€rgivad ĂŒksteist (sarnast vormingut kasutatakse objektide edastamisel kĂ€skudega git fetch ja git push). Iga pack-faili jaoks luuakse indeksifail (.idx), mis vĂ”imaldab objekti identifikaatori alusel vĂ€ga kiiresti mÀÀrata positsiooni pack-failis, kus antud objekt asub. Git 2.31 versioonis pakutud tagumine indeks (.rev) on suunatud objekti identifikaatori mÀÀramise protsessi optimeerimisele, kasutades teavet objekti asukoha kohta pack-failis.

    Varem tehti selline teisendus jooksvalt pack-faili analĂŒĂŒsi ajal ja salvestati ainult mĂ€lu, mis takistas sarnaste indeksite taaskasutamist ja sunnib iga kord uut indeksit looma. Indeksi koostamise protsess koosneb paaride «objekt-asukoht» massiivi loomisest ja selle sorteerimisest asukoha jĂ€rgi, mis vĂ”ib suurte pack-failidega aega vĂ”tta.

    NÀiteks objektide sisu vÀljastamise operatsioon, mille puhul kasutatakse otsest indeksit, toimus 62 korda kiiremini kui objektide suuruse nÀitamise operatsioon, mille andmed positsiooni ja objekti seose kohta ei olnud indekseeritud. PÀrast pöördindeksi kasutamist hakkasid need operatsioonid vÔtma umbes sama palju aega. Pöördindeksid vÔimaldavad ka objektide saadetamise operatsioonide kiirendamist fetch ja push kÀskude tÀitmisel, edastades andmeid otse kettalt. Pöördindeksid ei genereerita vaikimisi, nende loomiseks tuleb aktiveerida seadistus «git config pack.writeReverseIndex true» ja seejÀrel pakkida reposi kÀsklusega «git repack -Ad».

  • Lisatud on jĂ”udluse optimeerimised, mis pĂ”hinevad commit-graph failivormingu ilmumisel, mida kasutatakse commit'informatsiooni juurdepÀÀsu optimeerimiseks, samuti uued commit'i genereerimisnumbrid, mida saab kasutada commit'itega seotud tĂ€iendavate toimingute kiiremaks tegemiseks.
  • TĂ€iendatud on vĂ”imekust ĂŒmber mÀÀrata peamise haru nimi, mida vaikimisi kasutatakse uutes hoidlates (seade init.defaultBranch). Kui suhtlete vĂ€liste hoidlatega, siis git ĂŒritab vĂ€lja tĂ”mmata haru, millele HEAD viitab, st kui vĂ€line server kasutab vaikimisi haru «main», siis operatsioon «git clone» pĂŒĂŒab lokaalselt vĂ€lja tĂ”mmata «main». Git 2.31 toob sellise vĂ€ljavĂ”tte toetuse nĂŒĂŒd ka tĂŒhjadele hoidlatele. NĂ€iteks, uue hoidla lokaalset kloonimist enne esimest patĆĄi lisamist, sisaldab nĂŒĂŒd lokaalne koopia vĂ€ljaspoolt seadistatud serveril peamise haru nime vaikimisi.
  • KĂ€sku «git rev-list» on lisatud valik «—disk-usage», mis vĂ”imaldab kuvada objektide suuruse kokkuvĂ”tte.
  • Ootame lĂ€henevat tagasisidebaasi vahetust, mis vĂ”imaldab sulandumisi, oluliselt on optimeeritud ĂŒmbernimetamise mÀÀramine.
  • Toetamine vananenud regulaarsete vĂ€ljendite teeki PCRE1 on peatatud.
  • Pakutakse vĂ”imalust sundida lĂŒhendatud linkide kasutamine keelama, mis töötab olenematult hash-algoritmist. Keelamine aktiveeritakse, mÀÀrates parameetri core.abbrev vÀÀrtuseks «no».
  • KĂ€sku «git rev-parse» on lisatud valik «—path-format=(absolute|relative)» suhteliste vĂ”i absoluutsete teede vĂ€ljundi selge mÀÀratlemiseks.
  • Bashi automaatse tĂ€iendamise skriptides on lihtsustatud reeglite lisamine oma «git» alamkĂ€skude tĂ€iendamiseks.
  • KĂ€sku «git bundle» on lisatud valik «—stdin», mis loeb linke standardse sisendvoo kaudu.
  • KĂ€sku «git log» on lisatud uus valik «—diff-merges=<how>».
  • KĂ€sku «git ls-files» on lisatud valik «—deduplicatecan» duplikaatide eemaldamiseks vĂ€ljundis.
  • Lisatud on uued mustrid commitide vahemike vĂ€listamiseks — «<rev>^!» ja «<rev>^-<n>».
  • KĂ€sku «git range-diff» on lisatud valikud «—left-only» ja «—right-only», et kuvada ainult ĂŒhe poole vĂ”rreldavast vahemikust.
  • ĐšĐŸĐŒĐ°ĐœĐŽĐ° «git diff» Đž «git log» on saanud uued valikud —skip-to= ja —rotate-to=, mis vĂ”imaldavad vahele jĂ€tta vĂ”i liikuda algsete teede lĂ”ppu.
  • KĂ€sule «git difftool» on lisatud valik «—skip-to=», et uuesti alustada katkestatud seanssi suvaliselt teelt.
  • KĂ€itumiskoodeks (Code-of-conduct), mis mÀÀratleb pĂ”hialused konfliktide lahendamiseks arendajate vahel, on uuendatud versioonile 2.0 (varasem versioon oli 1.4).

    Allikas: opennet.ru
Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster