VĂ€lja antud versioonihaldussĂŒsteem Git 2.48

Avaldatud on jaotatud allikatekstide haldus sĂŒsteemi Git 2.48. Git paistab silma kĂ”rge jĂ”udlusega ning pakub mittelineaarse arenduse tööriistu, mis pĂ”hinevad harude ja liitmise kasutamisel. Ajaloo terviklikkuse ja muutuste suhtes tagantjĂ€rele vastupidavuse tagamiseks kasutatakse iga commit'i puhul kogu varasema ajaloo kaudset hash-kontrollimist, samuti arendajate digitaalsete allkirjade autentimist eraldi sildide ja commit'ide puhul. Git'i kood on litsentseeritud GPLv2+ all.

VÔrreldes eelneva vÀljaandega on uude versiooni lisatud 605 muudatust, mille on ette valmistanud 93 arendajat, kellest 35 osaleb arenduses esmakordselt. Peamised uuendused:

  • On rakendatud vĂ”imalus koos ehitussĂŒsteemiga Meson ehitada, lisaks GNU Make'ile ja CMake'ile. Git'i ehitamiseks vĂ”ib nĂŒĂŒd kasutada kĂ€sku „meson setup build && ninja -C build“. MĂ€rgitakse, et GNU Make'i puhul kasutatav Makefile on kasvanud 3887 reale ja pole nii lihtne, kui soovitud. Meson'i tööriistakomplekt lihtsustab ehitussĂŒsteemiga töötamist, olles mugav ristplatvormsete ehituste jaoks ja teeb ehitamise kergemaks algajatele vĂ”i arendajatele, kellel pole Make'i utiliidiga kogemusi. Make'i ja CMake'i toetamise lĂ”petamine lĂ€hitulevikus ei ole plaanis.
  • On lisatud ehitusvalikud, mis vĂ”imaldavad kasutada alternatiivseid SHA-1 hash'i rakendusi kontrollsummade arvutamiseks, mida kasutatakse andmepakettide puhtuse kontrollimiseks. Kontrollsummade arvutamise jĂ”udlus on vĂ€ga oluline, nĂ€iteks kulub nende arvutamiseks Linuxi kernelit kloonides umbes 78% protsessoriajast. VaikesĂ€tete kĂ€igus rakendatud lahendus sisaldab tĂ€iendavaid kollisioonikontrolli ning kaitset SHA-1 rĂŒnnakute, nagu SHAttered ja Shambles, eest. Selline kaitse, mis tarbib tĂ€iendavaid ressursse, on mĂ”ttekas ainult SHA-1 kasutamisel krĂŒptograafilistel eesmĂ€rkidel ja on indeksandmete terviklikkuse kontrollimisel kasutud.

    Git'i kiirema SHA-1 rakenduse, mis pole krĂŒptosĂŒsteemide jaoks sobilik, ehitamiseks on ette pandud mitmed *_UNSAFE valikud, nĂ€iteks „OPENSSL_SHA1_UNSAFE“. GitHub'is vĂ”imaldas lihtsustatud SHA-1 kasutamine suurendada andmete hankimise ja kloonimise jĂ”udlust 10-13%.

  • On lisatud vĂ”imalus kasutada kĂ€sus „range-diff“ valikut „—remerge-diff“, mis vĂ”imaldab nĂ€idata erinevusi ĂŒhise sulandumise tulemuse ja tegelike andmete vahel, mis on esindatud commit'is pĂ€rast kĂ€su „merge“ rakendamist. Valiku „—remerge-diff“ rakendamisel ei jagata konfliktide lahenduste vahelisi erinevusi iga vanema haru jaoks, vaid kuvatakse ĂŒldised erinevused konflikti all kannatavast failist ja failist, kus konfliktid on lahendatud. Uus valik vĂ”ib osutuda kasulikuks commit'ide kogumite vĂ”rdlemisel pĂ€rast commit'ide jĂ€rjestuse edastamist kĂ€suga „rebase“ koos valikuga „—rebase-merges“ kontekstis „range-diff“ kĂ€sus.
  • On lisatud vĂ”imalus kĂ€ivitada Git'i testkomplekt mĂ€lulekkete tuvastamise reĆŸiimi lubamisega. Kuna git pakub tööriistu, mis lĂ”petavad töö pĂ€rast kutsutud funktsiooni tĂ€itmist, ei ole mĂ€lulekkeid varem peetud suureks probleemiks. TĂ€ieliku eemaldamise vajadus muutus aktuaalseks pĂ€rast selget funktsionaalsuse eraldamise alustamist eraldi teeki, mida saab kasutada pikaajalises protsessis.
  • On alustatud aegunud reĆŸiimide ja vĂ”imaluste loendi koostamist, mille toetamine on plaanis tulevikus lĂ”petada. Eeldatakse, et aegunud funktsionaalsuse eemaldamine toimub Git 3.0 vĂ€ljaandes, mis sisaldab muudatusi, mis rikuvad pöördumatut ĂŒhilduvust.
  • On jĂ€tkatud „git for-each-ref“ kĂ€su optimeerimist, mis vĂ€ljastab loendi linkidest hoidlasse. Optimeerimine, mis ĂŒhendab lingi filtreerimise ja vĂ€ljundi vormindamise töötlejad, rakendatakse nĂŒĂŒd mitte ainult sorteerimata vĂ€ljundile, vaid ka siis, kui on mÀÀratud valik „—sort“.
  • On parandatud „reftable“ tagavarajĂ€rje rakendust, mis pakub plokkhoidlat, et tĂ”husalt hoida viiteid harudele ja siltidele hoidus. Reftable vĂ”imaldab oluliselt kiirendada otsimist, lugemist ja kirjutamist hoidlates, kus on vĂ€ga suur hulk linke. Uues versioonis on lĂ”petatud teatavate abiteenuste API-de kasutamine, et veelgi vĂ€hendada libgit'i olemasolu ehitussĂ”ltuvustes. On rakendatud adaptiivne vigade töötlemine, mille tĂ”ttu mĂ€lupuudus ei pĂ”hjusta enam programmi kokkujooksmist. Omandatud on kiirus viidete loomise operatsioonides ja vĂ€hendatud mĂ€lutarbimist.
  • Osaline kloonimise rakendamisel lahendati probleemid, mis viisid lĂ”pmatuse ja repo rikkumiseni pĂ€rast kĂ€sku „git gc”.
  • KĂ€sku „git fetch ” tĂ€itmisel, kui kohalikust sĂŒsteemist puudub „refs/remotes//HEAD” ja teiselt poolt viidatud haru, suunatakse nĂŒĂŒd „refs/remotes//HEAD” sellele harule. SĂŒnkroonimise haldamiseks on lisatud seadistus remote..followRemoteHEAD.
  • Lisatud seadistus „remote..serverOption”, mis on sarnane kĂ€surea valikuga „—serverOption=”.
  • KĂ€sku „git rebase —rebase-merges” tĂ€itmisel kasutatakse vĂ”imalusel harunimesid siltidena.
  • KĂ€skudele ‘git notes add’ ja ‘git notes append’ on lisatud lipp ‘-e’, mis avab mĂ€rkme vĂ€listes tekstiredaktorites, mille on mÀÀranud keskkonna muutujas GIT_EDITOR.
  • Parandatud ĂŒhilduvust GCC 15 ja C23 standardiga.
  • Toetamine vanade libcURL ja Perl versioonide jaoks on lĂ”petatud.

Allikas: opennet.ru

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