KoodihaldussĂŒsteemi Git 2.52 vĂ€ljaanne

PĂ€rast kolme kuu arengut on vĂ€lja lastud jaotatud lĂ€htekoodi haldussĂŒsteemi Git 2.52. Git eristub kĂ”rge jĂ”udluse poolest ja pakub vahendeid mittelineaarseks arenduseks, mis pĂ”hinevad harude jagamisel ja ĂŒhendamisel. Ajaloo terviklikkuse ja tagasiulatuvate muutuste suhtes vastupidavuse tagamiseks kasutatakse kogu eelneva ajaloo mitteavalikku rĂ€si iga commit'i puhul ning arendajate digitaalsete allkirjadega tagatud eraldi siltide ja commit'ide autentimist. Git'i kood on levitatav GPLv2+ litsentsi alusel.

VÔrreldes eelmise vÀljaandega on uude versiooni vastu vÔetud 637 muudatust, mille on ette valmistanud 94 arendajat (33 neist osalesid Git'i arengus esmakordselt). Peamised uuendused (1, 2, 3):

  • Lisatud kĂ€sk «git last-modified», mis kuvab nimekirja failidest mÀÀratud versioonis ja commit'idest, mille kaudu viimased muudatused nende failide sisse viidi. $ git last-modified HEAD b56f6dcd7b4c90192018e848d0810f091d092913 test.h 29330ae4b820147c98e723399e9438c8bee60a8a test1.c 573ad8917beb99dc643b6e7f5c117a294384a575 test2.c
  • Lisatud kĂ€sk «git repo», et teostada toiminguid, mis on seotud teabe vĂ€ljanĂ”udmisega hoidla kohta. Pakutakse kahte allkĂ€sku — «git repo info» ja «git repo structure», mis vĂ€ljastavad teavet hoidla seadistuste ja hoidla struktuuri kohta (nĂ€iteks on vĂ”imalik teada saada, mitu viidet ja objekti hoidlas on). $ git repo info object.format references.format object.format=sha1 references.format=reftable $ git repo structure | Hoidla struktuur | VÀÀrtus | | ——————— | —— | | * Viidatud | | | * Arv | 1983 | | * Harud | 4 | | * Silte | 1125 | | * Eemaldatud | 854 | | * Teised | 0 | | | | | * Ulatuslikud objektid | | | * Arv | 518955 | | * Commit'id | 77469 | | * Puud | 188865 | | * Blobe | 251631 | | * Silte | 990 |
  • KĂ€sku «git refs» on lisatud kolm allkĂ€sku, mis ĂŒhtlustavad killustatud ja kattuvaid madala taseme toiminguid viidete osas (git for-each-ref, git show-ref, git update-ref ja git pack-refs):
    • «git refs optimize» — viidete salvestamise tagumise optimeerimine (sarnane «git pack-refs»-le).
    • «git refs list» — kĂ”ikide viidete nimekirja vĂ€ljastamine (sarnane «git for-each-ref» vĂ”i «git show-ref»-le).
    • «git refs exists» — viidete olemasolu kontrollimine (sarnane «git show-ref —exists»-le).
  • Eksportimise vĂ”i importimise formaat commit'ide ajaloost on laiendatud krĂŒptograafiliste allkirjade töötamise vĂ”imalusega, kasutades objekti identifikaatoritena nii SHA-1 kui ka SHA-256 algrutiine. „git fast-import“ meeskonnas on rakendatud toetus allkirjastatud siltide töötlemiseks sarnaselt allkirjastatud commit'idega. Lisatud on valikud „—signed-commits=“ ja „—signed-tags=“, et hallata allkirjastatud commit'ide ja siltide töötlemist importimise etapis (reĆŸiim vĂ”ib vĂ”tta vÀÀrtusi verbatim, warn-verbatim, warn-stri, strip vĂ”i abort).
  • „git maintenance“ meeskonda on lisatud toetus uuele strateegiale „geometric“ („git config set maintenance.strategy geometric“), mis vĂ”imaldab vĂ€hendada hoolduse aega suurtes monorepositorites. VĂ”rreldes varasema strateegiaga, mis kasutas „git gc“ loomust, vĂ€ldib uus strateegia kĂ”igi objektide uuesti pakkimist ja vĂ€listab liigsed ressursimahukad toimingud, nagu kĂ”igi pack-failide ĂŒhildamine (vajadusel toimub ĂŒhendamine osade kaupa ja ilma eemaldatud objektide puhastamiseta).
  • Lisatud on kĂ€sk „git sparse-checkout clean“ töökausta oleku taastamise lihtsustamiseks, kustutades failid, mis ei vasta uuele sparse-checkout mÀÀratlusele, mis ei tohiks kohaliku koopia osana olla vastavalt praegustele sparse-checkouti seadetele.
  • Koodibaasi keerukust vĂ€hendamiseks ja hooldamise lihtsustamiseks on lĂ€bi viidud refaktoreerimine, et vĂ€hendada globaalsete muutuja the_repository kasutamist.
  • Bloom'i filtreid, tĂ”enĂ€osuslikku struktuuri, mis mÀÀrab rĂŒhma kuulumise, on laiemalt rakendatud, vĂ”imaldades vale mÀÀratlemise puudumist, kuid vĂ€listades olemasoleva elemendi vahelejĂ€ttmise. Bloom'i filtreid rakendatakse nĂŒĂŒd muutuste ajaloo otsingu kiirusel, kui failiteede maskid on mÀÀratletud, nĂ€iteks „foo/bar/*/baz“.
  • KĂ€sku „git describe“ on kiirus suurenenud kuni 30% prioriteetide jĂ€rjestuse kasutamise tĂ”ttu. „git remote rename“ operatsioonid on kiirenenud linkide ĂŒmbernimetamisel. „git ls-files“ indekseerimise rakendamine on laienenud. KĂ€sk „git log -L“ töö on mĂ€rgatavalt kiirem, kuna on vĂ€listatud liigsed kolme tasandi vĂ”rdlused commit'ide sulandumisel. Optimeerimised on tehtud xdiff teegis.
  • Pakkumine vĂ”imaldab valida Rusti keeles rakenduste kasutamise teatud sisefunktsioonide, nagu muutujate pikkusega tĂ€isarvude kodeerimise ja dekodeerimise, jaoks. Vaikimisi ei kasutata Rusti koodi ning selle aktiveerimiseks on vajalik kompilaatorilipp WITH_RUST. Tulevikus on oodata, et Git 3.0-s töödeldakse ĂŒmber rohkem olulisi sisekomponente Rustis ning Rusti lisamine muutub kohustuslikuks kompilaatorite sĂ”ltuvuseks.
  • On ajakohastatud loetelu ĂŒhilduvust rikkuvatest muudatustest, mis rakendatakse Git 3.0 harus. Git 3.0-s on otsustatud muuta vaikeseade init.defaultBranch vÀÀrtuseks 'main', st 'git init' kĂ€su abil loodud hoidlates nimetanakse vaikimisi haru 'main' mitte 'master'. Samuti mĂ€rgitakse, et uute hoidlate initimise korral toimub vaikimisi ĂŒleminek SHA-256 rĂ€si algoritmi pĂ”hjal objektide identifikaatoritele. Ülemineku lihtsustamiseks hoidlates, millel on SHA-1 ja SHA-256 rĂ€si pĂ”hised objektide identifikaatorid, on ette nĂ€htud vĂ”imalus ĂŒhe rĂ€si algoritmi hoidlas push ja pull operatsioonide teostamiseks hoidlast, millel on kasutusel erinev rĂ€si algoritm.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster