Lëshimi i sistemit të kontrollit të kodeve Git 2.48

Publikuar lëshimi i sistemit të shpërndarë të menaxhimit të kodit burimor Git 2.48. Git shquhet për performancën e tij të lartë dhe ofron mjete për zhvillim jo-linear, të bazuar në degrada dhe bashkimin e degëve. Për të siguruar integritetin e historisë dhe qëndrushmërinë ndaj ndryshimeve "pasuri", përdoren hashingu implicit i të gjithë historisë së mëparshme në çdo commit, si dhe dëshmimi me nënshkrime digjitale të zhvilluesve për etiketat dhe commit-et individuale. Kodi i Git shpërndahen nën licencën GPLv2+.

Në krahasim me lëshimin e kaluar, versioni i ri përfshin 605 ndryshime, të përgatitura me pjesëmarrjen e 93 zhvilluesve, nga të cilët 35 janë pjesëmarrës për herë të parë në zhvillim. Novitete kryesore:

  • ËshtĂ« realizuar mundĂ«sia e ndĂ«rtimit duke pĂ«rdorur sistemin e ndĂ«rtimit Meson, pĂ«rveç GNU Make dhe CMake. Tani, pĂ«r ndĂ«rtimin e Git, mund tĂ« pĂ«rdoret komandĂ«n "meson setup build && ninja -C build". VĂ«rehet se Makefile, i pĂ«rdorur gjatĂ« pĂ«rdorimit tĂ« GNU Make, Ă«shtĂ« rritur nĂ« 3887 rreshta dhe nuk Ă«shtĂ« aq i thjeshtĂ« sa do tĂ« dĂ«shironim. Mjeti Meson thjeshton punĂ«n me sistemin e ndĂ«rtimit, Ă«shtĂ« i pĂ«rshtatshĂ«m pĂ«r ndĂ«rtimin pĂ«r platforma tĂ« ndryshme dhe e bĂ«n ndĂ«rtimin mĂ« tĂ« accesueshĂ«m pĂ«r fillestarĂ«t ose zhvilluesit qĂ« nuk kanĂ« pĂ«rvojĂ« me mjetin Make. Nuk planifikohet tĂ« ndĂ«rpritet mbĂ«shtetja pĂ«r Make dhe CMake nĂ« njĂ« tĂ« ardhme tĂ« afĂ«rt.
  • JanĂ« shtuar opsione ndĂ«rtimi qĂ« lejojnĂ« pĂ«rdorimin e implementimeve alternative tĂ« hash SHA-1 gjatĂ« llogaritjes sĂ« checksum-Ă«ve, tĂ« cilat pĂ«rdoren pĂ«r tĂ« verifikuar integritetin e blloqeve tĂ« tĂ« dhĂ«nave nĂ« skedarĂ«t pack. Performanca e llogaritjes sĂ« checksum-Ă«ve ka rĂ«ndĂ«si tĂ« madhe, pĂ«r shembull, pĂ«r llogaritjen e tyre gjatĂ« klonimit tĂ« njĂ« depoje me bĂ«rthamĂ«n Linux, shpenzohet rreth 78% e kohĂ«s sĂ« procesorit. Implementimi i pĂ«rdorur si standard pĂ«rfshin kontrolle shtesĂ« pĂ«r kolizionet dhe mbrojtjen nga sulmet ndaj SHA-1, si SHAttered dhe Shambles. NjĂ« mbrojtje e tillĂ«, e cila konsumon burime tĂ« tjera, ka kuptim vetĂ«m kur pĂ«rdoret SHA-1 pĂ«r qĂ«llime kriptografike dhe Ă«shtĂ« e panevojshme gjatĂ« verifikimit tĂ« integritetit tĂ« tĂ« dhĂ«nave indekse.

    Për ndërtimin e Git me një implementim më të shpejtë të SHA-1, i papërshtatshëm për sistemet kriptografike, ofrohet një seri opsionesh *_UNSAFE, për shembull, "OPENSSL_SHA1_UNSAFE". Në GitHub, ndërtimi me SHA-1 të thjeshtuar ka lejuar një rritje prej 10-13% të performancës për operacionet e nxjerrjes dhe klonimit të të dhënave.

  • Shtoi mundĂ«sia e pĂ«rdorimit nĂ« komandĂ«n «range-diff» opsionin «—remerge-diff», duke lejuar shfaqjen e dallimeve midis rezultatit tĂ« pĂ«rbashkĂ«t tĂ« bashkimit dhe tĂ« dhĂ«nave aktuale, tĂ« pasqyruara nĂ« komit pas procesit tĂ« komandĂ«s «merge». Me pĂ«rdorimin e opsionit «—remerge-diff», dallimet midis zgjidhjeve tĂ« konflakeve nuk ndahen pĂ«r çdo degĂ« prind, por shfaqen dallimet e pĂ«rgjithshme midis skedarit me konflake tĂ« bashkimit dhe skedarit, nĂ« tĂ« cilin konflatet janĂ« zgjidhur. NĂ« kontekstin e komandĂ«s «range-diff», opsioni i ri mund tĂ« jetĂ« i dobishĂ«m pĂ«r krahasimin e grupeve tĂ« komiteve pas transferimit tĂ« sekuencĂ«s sĂ« komiteteve nga ekipi «rebase» me opsionin «—rebase-merges».
  • Shtoi mundĂ«sinĂ« e ekzekutimit tĂ« njĂ« grupi testues Git me pĂ«rfshirjen e modalitetit tĂ« identifikimit tĂ« rrjedhjeve tĂ« memories. Duke qenĂ« se git ofron mjete qĂ« pĂ«rfundojnĂ« punĂ«n pas ekzekutimit tĂ« funksionit tĂ« thirrur, rrjedhjet e memories mĂ« parĂ« nuk ishin konsideruar si njĂ« problem tĂ« madh. Nevoja pĂ«r eliminimin e plotĂ« tĂ« rrjedhjeve tĂ« memories u bĂ« e rĂ«ndĂ«sishme pas fillimit tĂ« punĂ«s pĂ«r nxjerrjen e funksionalitetit tĂ« brendshĂ«m nĂ« njĂ« bibliotekĂ« tĂ« veçantĂ«, e cila mund tĂ« pĂ«rdoret nĂ« procese afatgjata.
  • Filloi formimi i listĂ«s sĂ« mĂ«nyrave dhe mundĂ«sive tĂ« vjetra, mbĂ«shtetjen e tĂ« cilave planifikojnĂ« tĂ« ndalojnĂ« nĂ« tĂ« ardhmen. Parashikohet se heqja e funksionalitetit tĂ« vjetruar do tĂ« ndodhĂ« nĂ« lĂ«shimin e Git 3.0, nĂ« tĂ« cilin do tĂ« pĂ«rfshihen ndryshime qĂ« prishin komatibilitetin mbrapsht.
  • Vazhdoi optimizimi i funksionit tĂ« komandĂ«s «git for-each-ref», e cila shfaq listĂ«n e lidhjeve nĂ« repozitor. Optimizimi, i cili bashkon trajtuesit pĂ«r filtrimin e lidhjeve dhe formatimin e daljes, tani aplikohet jo vetĂ«m pĂ«r dalje tĂ« pa renditur, por edhe kur specifikohet opsioni «—sort».
  • PĂ«rmirĂ«simi i implementimit tĂ« back-end tĂ« «reftable» me ruajtje nĂ« blloqe pĂ«r njĂ« ruajtje efektive nĂ« depozita tĂ« lidhjeve me deget dhe etiketat. Reftable lejon njĂ« kĂ«rkim, lexim dhe shkrim shumĂ« mĂ« tĂ« shpejtĂ« nĂ« depozita me njĂ« numĂ«r jashtĂ«zakonisht tĂ« madh lidhjesh. NĂ« versionin e ri, Ă«shtĂ« ndĂ«rprerĂ« qasja nĂ« disa API ndihmĂ«s pĂ«r tĂ« eliminuar mĂ« tej bibliotekĂ«n libgit nga varĂ«sitĂ« e ndĂ«rtimit. ËshtĂ« realizuar njĂ« trajtim adaptiv i gabimeve tĂ« kthyer nga funksionet e alokimit tĂ« memories (mungesa e memories tani nuk shkakton njĂ« pĂ«rfundim tĂ« mprehtĂ« tĂ« punĂ«s). Operacionet e krijimit tĂ« lidhjeve janĂ« pĂ«rshpejtuar dhe konsumimi i memories Ă«shtĂ« reduktuar.
  • NĂ« implementimin e klonimit tĂ« pjesshĂ«m janĂ« zgjidhur problemet qĂ« shkaktonin cikle dhe dĂ«mtim tĂ« depozitĂ«s pas ekzekutimit tĂ« komandĂ«s «git gc».
  • Kur ekzekutohet komanda «git fetch », nĂ« rast se nuk ka «refs/remotes//HEAD» nĂ« sistemin lokal dhe ka njĂ« dege tjetĂ«r nga e cila lidhet HEAD, «refs/remotes//HEAD» tani drejtohet nĂ« kĂ«tĂ« degĂ«. PĂ«r menaxhimin e sinkronizimit tĂ« «refs/remotes//HEAD» me vlerĂ«n e HEAD nĂ« anĂ«n tjetĂ«r tĂ« lidhjes Ă«shtĂ« shtuar konfigurimi remote..followRemoteHEAD.
  • ËshtĂ« shtuar konfigurimi «remote..serverOption» i ngjashĂ«m me opsionin e komandĂ«s nĂ« linjĂ« «—serverOption=».
  • NĂ« komandĂ«n «git rebase —rebase-merges» Ă«shtĂ« siguruar pĂ«rdorimi i emrave tĂ« degĂ«ve si etiketat kur Ă«shtĂ« e mundur.
  • NĂ« komandat ‘git notes add’ dhe ‘git notes append’ Ă«shtĂ« shtuar flag ‘-e’, i cili hap njĂ« shĂ«nim nĂ« njĂ« redaktor tekstual tĂ« jashtĂ«m, i caktuar pĂ«rmes variablit tĂ« ambientit GIT_EDITOR.
  • ËshtĂ« pĂ«rmirĂ«suar kompatibiliteti me GCC 15 dhe standardin C23.
  • ËshtĂ« ndĂ«rprerĂ« mbĂ«shtetje pĂ«r versionet e vjetra tĂ« libcURL dhe Perl.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster