Git 2.37 vÀljalase

Esitati kĂ€ibel jaotatud lĂ€htefailide haldamise sĂŒsteemi Git 2.37. Git on ĂŒks populaarsemaid, usaldusvÀÀrsemaid ja kĂ”rge jĂ”udlusega versioonihaldussĂŒsteeme, mis pakub paindlikke mittelineaarse arenduse vahendeid, mis pĂ”hinevad harude ja ĂŒhenduste loomisel. Ajaloo terviklikkuse tagamiseks ja muude muudatuste resistentsuse tagamiseks kasutatakse kĂ”igi varasemate ajaloode vaikimisi hash-koodimist igas commit'is, samuti on vĂ”imalik arendajate digitaalse allkirjaga kinnitada ĂŒksikute sildide ja commit'ide autentsust.

VÔrreldes eelmise versiooniga on uues versioonis rakendatud 395 muudatust, mille ette valmistas 75 arendajat, kellest 20 osaleb arengus esmakordselt. Peamised uuendused:

  • Poolikute indeksite (sparse index) mehhanism on viidud valmis laialdaseks kasutamiseks, hĂ”lmates vaid osa hoidlast. Poolikud indeksid vĂ”imaldavad suurendada jĂ”udlust ja sÀÀsta ruumi hoidlates, kus viiakse lĂ€bi osalisi kloonimise (sparse-checkout) operatsioone vĂ”i töötatakse mittetĂ€ieliku hoidla koopia ĂŒle. Uues versioonis lĂ”petati töö poolikute indeksite integreerimise kallal kĂ€sklustesse „git show“, „git sparse-checkout“ ja „git stash“. KĂ”ige mĂ€rgatavam kasu jĂ”udlusest, mis tuleneb poolikute indeksite kasutamisest, on tĂ€heldatud kĂ€sus „git stash“, mille tĂ€itmise kiirus on mĂ”nel juhul tĂ”usnud 80%.
  • Rakendatud on uus mehhanism "cruft packs" jĂ”udmatu objektide (unreachable) pakkimiseks, millele hoidlas puuduvad lingid (harud ega sildid ei viita neile). JĂ”udmatu objektid eemaldatakse prĂŒgikogujaga, kuid enne eemaldamist jÀÀvad nad teatud ajaks hoidlasse, et vĂ€ltida vĂ”idujooksu olukordi. JĂ”udmatu objektide jĂ€lgimise perioodi jĂ€lgimiseks on vajalik nende sidumine muudatuste ajamĂ€rkidega, mis ei luba neid hoida ĂŒhes pack-failis, kus kĂ”ik objektid jagavad sama muudatuste aega. Varem kasutatud iga objekti salvestamine eraldi faili pĂ”hjustas probleeme, kui oli palju uusi jĂ”udmatu objekte, mis veel ei olnud eemaldamise alla kuuluvad. Pakutud mehhanism "cruft packs" vĂ”imaldab kĂ”ik jĂ”udmatu objektid hoida ĂŒhes pack-failis, ning iga objekti muudatusaja andmeid kajastavad eraldi tabelis, mis hoitakse failis laiendiga ".mtimes".
  • Windowsi ja macOS-i jaoks on rakendatud sisseehitatud failisĂŒsteemi muudatuste jĂ€lgimise mehhanism, mis vĂ”imaldab vĂ€ltida kogu töökausta lĂ€bimist selliste toimingute nagu "git status" teostamisel. Varem vĂ”is muudatuste jĂ€lgimise kaudu hook'ide abil kasutada vĂ€liseid utiliite nagu Watchman, kuid see nĂ”udis tĂ€iendavate programmide installimist ja seadistamist. NĂŒĂŒd on see funktsionaalsus sisseehitatud ja selle aktiveerimiseks vĂ”ib kasutada kĂ€sku "git config core.fsmonitor true".
  • KĂ€skluses "git sparse-checkout" on alternatiivse reĆŸiimi "—cone" toetamine kuulutatud aegunuks, mis vĂ”imaldas mustrite mÀÀratlemisel osalist kloonimist, et nimetada kloonimise toimingutesse kuuluvad eraldi failid, kasutades " .gitignore" sĂŒntaksit, mis ei vĂ”imalda kasutada osalisi indekseid optimeerimise jaoks.
  • Suurendatud paindlikkust fsync() kutsumise seadistamiseks andmete salvestamiseks kettale. Parameetrisse „core.fsyncMethod“ on lisatud toetuse strateegia sĂŒnkroniseerimisele „batch“, mis vĂ”imaldab kiirendada töötlust suure hulga eraldi failide kirjutamisel, akumuleerides muudatusi tagasi kirjutamise vahemĂ€lles, mis vĂ€rskendatakse ĂŒhe fsync() kutsumisega. Teostatud test, kus kĂ€suga „git add“ lisati 500 faili, nĂ”udis uue reĆŸiimi sisselĂŒlitamisel 0,15 sekundit, samas kui iga faili jaoks fsync() kutsumiseks kulus 1,88 sekundit, ja ilma fsyncita — 0,06 sekundit.
  • Harude sirvimise kĂ€skudesse, nagu „git log“ ja „git rev-list“, on lisatud vĂ”imalus „--since-as-filter=X“, mis vĂ”imaldab filtreerida teavet komiteede kohta, mille loomise aeg on vanem kui „X“. Erinevalt valikust „--since“ on uus kĂ€sk rakendatud filtrina, mis ei peata lĂ€bimist pĂ€rast esimest komiteed, mis on vanem mÀÀratud ajast.
  • KĂ€sus „git remote“, kui lipu „-v“ kasutamine nĂ€itab teavet osaliste kloonide kohta.
  • Lisatud seadistus „transfer.credentialsInUrl“, mis vĂ”ib vastu vĂ”tta vÀÀrtusi „warn“, „die“ ja „allow“. Kui parameetris „remote..url“ on esitatud mandaadid avatud tekstina, lĂ”peb katsed „fetch“ vĂ”i „push“ teostada veaga, kui seadistus „transfer.credentialsInUrl“ on mÀÀratud vÀÀrtusele „die“, vĂ”i hoiatusega, kui vÀÀrtus on „warn“.
  • Vaikimisi on kĂ€ivitatud uus interaktiivse reĆŸiimi rakendus kĂ€sule „git add -i“, mis on kirjutatud Perlilt C keelele.

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