Kasutuste haldamise sĂŒsteemi Git 2.36 vĂ€ljaanne

PĂ€rast kolme kuu arendustööd on avaldatud jaotatud lĂ€htekoodi haldamise sĂŒsteemi Git 2.36 vĂ€ljaanne. Git on ĂŒks populaarsemaid, usaldusvÀÀrsemaid ja kĂ”rge jĂ”udlusega versioonihalduse sĂŒsteeme, mis pakub paindlikke mittelineaarse arenduse vahendeid, mis pĂ”hinevad harude ja harude ĂŒhendamise meetoditel. Ajaloo terveks hoidmiseks ja tagasivaatelike muutuste suhtes vastupidavuse tagamiseks kasutatakse iga commit'i puhul eelneva ajaloo suudluslikku hash'imist, samuti on vĂ”imalik arendajate digitaalsete allkirjadega kinnitada eraldi sildid ja commit'id.

Uue versiooni on lisatud 717 muudatust, mille ettevalmistamisel osales 96 arendajat, kellest 26 osales arenduses esmakordselt. Peamised uuendused:

  • KĂ€skude «git log» ja «git show» juurde on lisatud valik «—remerge-diff», mis vĂ”imaldab nĂ€idata erinevusi ĂŒhise sulandumise tulemuse ja tegelike andmete vahel, nagu need kajastuvad commit'is pĂ€rast «merge» kĂ€su töötlemist. See vĂ”imaldab visuaalselt hinnata muudatusi, mis on tehtud konfliktide lahendamise kĂ€igus. Tavaline kĂ€sk «git show» eraldab erinevad konfliktide lahendused sissejuhatusest, mis raskendab muudatuste mĂ”istmist. NĂ€iteks alloleval ekraanipildil nĂ€itab rida «+/-» ilma sissejuhatuseta viimast konfliktide lahendust, mis on seotud esimese haru sha1 ĂŒmbernimetamisega oid'ks kommentaaris, samas kui «+/-» koos sissejuhatusega — algset konfliktide lahendust, mille pĂ”hjustas teises harus tĂ€iendava argumenti ilmumine funktsioonis dwim_ref().
    Kasutuste haldamise sĂŒsteemi Git 2.36 vĂ€ljaanne

    Valiku «—remerge-diff» kasutamisel ei eraldu konfliktide lahenduste erinevused iga vanema haru jaoks, vaid nĂ€idatakse ĂŒldisi erinevusi faili vahel, mis sisaldab sulandumise konflikte, ja faili vahel, kus konfliktid on lahendatud.

    Kasutuste haldamise sĂŒsteemi Git 2.36 vĂ€ljaanne
  • Suurem kohandamise paindlikkus kettaluukide kĂ€itumise resetimisel on saavutatud fsync() funktsiooni vĂ€ljakutse kaudu. Varasemalt olemas olnud parameeter core.fsyncObjectFiles on jagatud kaheks konfigureeritavaks muutujaks: core.fsync ja core.fsyncMethod, mis vĂ”imaldavad rakendada fsync mitte ainult objektifailidele (.git/objects), vaid ka teistele git-struktuuridele, nagu lingid (.git/refs), reflog ja pakifailid.

    Muutuja core.fsync vĂ”imaldab mÀÀrata nimekirja sisemistest Git-struktuuridest, mille jaoks tĂ€iendav fsync kutse tehakse pĂ€rast kirjutamise operatsiooni. Muutuja core.fsyncMethod vĂ”imaldab valida vahemĂ€lu tĂŒhjendamise meetodi, nĂ€iteks vĂ”ib valida fsync, et rakendada samanimelist sĂŒsteemi kutset, vĂ”i mÀÀrata writeout-only, et rakendada viivitatud kirjutamist (pagecache writeback).

  • Vulnerabiliteetide kaitseks, mis manipuleerivad teiste kasutajate .git kataloogide asendamisega jagatud osades, on tugevdatud hoidja valideerimist. NĂŒĂŒd on git kĂ€skude tĂ€itmine lubatud ainult oma „.git“ kataloogides. Kui teie repository kuulub teisele kasutajale, kuvatakse vaikeviga. Selle oodatava kĂ€itumise saab vĂ€lja lĂŒlitada konfiguratsiooniga safe.directory.
  • Git-objektide algse sisu kuvamiseks loodud kĂ€sku „git cat-file“ on lisatud valik „—batch-command“, mis tĂ€iendab varem saadaval olnud kĂ€skude „—batch“ ja „—batch-check“ vĂ”imalust kohandada vĂ€ljundit, nĂ€idates „contents <objekt>“ sisu kuvamiseks vĂ”i „info <objekt>“ objekti teabe kuvamiseks. Lisaks toetatakse kĂ€sku „flush“ vĂ€ljundi puhverdamiseks.
  • KĂ€sku «git ls-tree», mis on mĂ”eldud objektipuude sisu loetlemiseks, on lisatud valik «—oid-only» («—object-only»), mis sarnaneb «—name-only»-le, kuid vĂ€ljastab ainult objektide tuvastajad, et hĂ”lbustada skriptide kaudu kutsumist. Samuti on rakendatud valik «—format», mis vĂ”imaldab mÀÀrata oma vĂ€ljundvormingut, kombineerides teavet reĆŸiimi, tĂŒĂŒbi, nimetuse ja suuruse kohta.
  • KĂ€sk «git bisect run» on rakendatud, et mÀÀrata skripti kĂ€ivitatavus, ning antud juhul vĂ€ljastatakse vead koodidega 126 vĂ”i 127 (varem, kui skripti ei saanud kĂ€ivitada, mĂ€rgistati kĂ”ik tĂ”lgendused probleemsete kĂ”rval).
  • KĂ€sku «git fetch» on lisatud valik «—refetch», et tĂ”mmata kĂ”iki objekte ilma teavitamata teist poolt sisu olemasolust, mis juba on kohalikus sĂŒsteemis. Selline kĂ€itumine vĂ”ib osutuda kasulikuks taastamisprotsessis pĂ€rast tĂ”rkeid, kui puudub kindlus kohalike andmete terviklikkuse osas.
  • KĂ€skudesse „git update-index“, „git checkout-index“, „git read-tree“ ja „git clean“ on lisatud osaliste indeksite (sparse index) tugi, mis vĂ”imaldab parandada jĂ”udlust ja sÀÀsta ruumi ladustamisruumis, kus toimub osaline kloonimine (sparse-checkout).
  • KĂ€sku „git clone —filter=
 —recurse-submodules“ on muutunud, nĂŒĂŒd viib see osalise kloonimise submoodulite jaoks (varem rakendati filtrit ainult pĂ”hisisule, submoodulid klooniti tĂ€ielikult ja filtrit ei arvestatud).
  • KĂ€sku „git bundle“ on lisatud tugi filtrite mÀÀramiseks sisu valikulise paigutamise jaoks, sarnaselt osaliste kloonimise operatsioonidele.
  • KĂ€sku „git branch“ on tĂ€iustatud valikuga „—recurse-submodules“ submoodulite rekursiivseks lĂ€bimiseks.
  • Userdiff'is on ette pandud uus töötleja Kotlin'i keele jaoks.

Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster