Utgivning av versionshanteringssystemet Git 2.39

Efter tvÄ mÄnaders utveckling har version 2.39 av det distribuerade systemet för hantering av kÀllkod Git publicerats. Git Àr ett av de mest populÀra, pÄlitliga och högpresterande versionshanteringssystemen, vilket erbjuder flexibla verktyg för icke-linjÀr utveckling som baseras pÄ förgrening och sammanslagning av grenar. För att sÀkerstÀlla integriteten hos historiken och motstÄndskraft mot retroaktiva Àndringar anvÀnds implicit hashning av hela föregÄende historia i varje commit, och det Àr ocksÄ möjligt att verifiera med digitala underskrifter av utvecklare av individuella taggar och commits.

JÀmfört med föregÄende version har den nya versionen tagit emot 483 Àndringar, som har förberetts med deltagande av 86 utvecklare, varav 31 deltog i utvecklingen för första gÄngen. De viktigaste nyheterna Àr:

  • Till kommandot „git shortlog“, som syftar till att visa sammanfattningar med statistik frĂ„n Ă€ndringshistoriken, har en option „—group“ lagts till för godtycklig gruppering av commits efter fĂ€lt, som inte begrĂ€nsas till författaren eller committaren. Till exempel, för att visa en lista över utvecklare med information om antalet förĂ€ndringar, som tar hĂ€nsyn till medförfattare nĂ€mnda i fĂ€ltet „Co-authored-by“, kan du anvĂ€nda kommandot: git shortlog -ns —group=author —group=trailer:co-authored-by

    Utdata frĂ„n shortlog kan aggregeras med hjĂ€lp av formateringsspecifikationer, och optionen „—group“ gör det möjligt att vĂ€sentligt förenkla skapandet av komplexa rapporter och undvika att utföra ytterligare sorteringskommandon. Till exempel, för att skapa en rapport med information om hur mĂ„nga commits för ett givet slĂ€pp som mottagits varje mĂ„nad kan du ange: git shortlog v2.38.0.. —date=’format:%Y-%m’ —group=’’ -s 2 2022-08 47 2022-09 405 2022-10 194 2022-11 5 2022-12 Tidigare skulle en liknande operation ha krĂ€vt anvĂ€ndning av verktygen sort och uniq: git log v2.38.0.. —date=’format:%Y-%m’ —format=’’ | sort | uniq -c

  • Möjligheterna för mekanismen "cruft packs" har utvidgats, avsedd för att paketera otillgĂ€ngliga objekt som inte har nĂ„gra referenser i ditt repository (varken genom grenar eller taggar). OtillgĂ€ngliga objekt tas bort av skrĂ€psamlaren, men för att undvika race conditions finns de kvar i repositoryt under en viss tid innan de tas bort. Mekanismen "cruft packs" möjliggör lagring av alla otillgĂ€ngliga objekt i en pack-fil, medan information om tidpunkten för varje objekts modifiering lagras i en separat tabell i en fil med tillĂ€gget ".mtimes", sĂ„ att de inte krockar med den allmĂ€nna modifieringstiden.

    Tiden som otillgĂ€ngliga objekt kan finnas kvar i repositoryt innan de faktiskt tas bort bestĂ€ms av alternativen "—prune=". Även om fördröjningen innan borttagning Ă€r en effektiv och praktisk metod för att förhindra skador pĂ„ repositoryt orsakade av race conditions, Ă€r den inte 100 % tillförlitlig. För att underlĂ€tta Ă„terstĂ€llningen av ett skadat repository har en funktion för att spara saknade objekt lagts till i den nya utgĂ„van, dĂ€r kommandot "git repack" har fĂ„tt alternativet "—expire-to", vilket möjliggör specifikationen av en fil för att skapa en extern kopia av alla borttagna objekt. Till exempel, för att spara otillgĂ€ngliga objekt som inte har Ă€ndrats under de senaste 5 minuterna i filen backup.git, kan du anvĂ€nda kommandot: git repack —cruft —cruft-expiration=5.minutes.ago -d —expire-to=../backup.git

  • Hastigheten för operationen "git grep —cached" har ökat avsevĂ€rt (med upp till 70 %) vid sökning i omrĂ„den dĂ€r partiell kloning (sparse-checkout) anvĂ€nds och för vilka det finns partiella index (sparse index). Tidigare, nĂ€r alternativet "—cached" angavs, utfördes först sökningen i det vanliga indexet och sedan i de partiella, vilket ledde till mĂ€rkbara fördröjningar vid sökning i stora repositories.
  • Genomförande av servern kontroller av nya objekts konsistens innan de placeras i repositoryt under operationen "git push" har pĂ„skyndats. Genom att övergĂ„ till att endast beakta annonserade referenser vid kontrollen, har de optimeringar som gjorts i ett testrepository med 7 miljoner referenser, dĂ€r endast 3 % omfattas av push-operationen, möjliggjort en reduktion av kontrolltiden med 4,5 gĂ„nger.
  • För att skydda mot potentiella överflöden av heltal i koden har kommandot "git apply" begrĂ€nsat den maximala storleken pĂ„ bearbetade patchar. Om storleken pĂ„ patchen överstiger 1 GB kommer nu ett felmeddelande att visas.
  • För att skydda mot potentiella sĂ„rbarheter har det gjorts Ă€ndringar för att rensa bort överflödig information i rubriker som stĂ€lls in vid anvĂ€ndning av modulen h2h3 med alternativet GIT_TRACE_CURL=1 eller GIT_CURL_VERBOSE=1 tillsammans med HTTP/2.
  • Vid utförande av checkout-operation med en gren som Ă€r en symbolisk lĂ€nk till en annan gren, kommer kommandot "git symbolic-ref HEAD" nu att visa namnet pĂ„ mĂ„lbladet istĂ€llet för namnet pĂ„ den symboliska lĂ€nken.
  • Stöd för argumentet @{-1} har lagts till i alternativet "—edit-description" ("git branch —edit-description @{-1}") för att redigera beskrivningen av den tidigare grenen.
  • Kommandot "git merge-tree —stdin" har lagts till, vilket gör det möjligt att överföra en lista med parametrar via standardingĂ„ngen.
  • PĂ„ nĂ€tverksfilsystem Ă€r fsmonitor-hanteraren, som övervakar förĂ€ndringar i filsystemet, som standard inaktiverad.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster