Git 2.39 frumstýringarútgáfa

Eftir tveggja mánaða þróun hefur dreifða heimildastýringarkerfið Git 2.39 verið gefið út. Git er eitt vinsælasta, áreiðanlegasta og afkastamesta útgáfustýringarkerfið sem býður upp á sveigjanleg ólínuleg þróunarverkfæri sem byggjast á greiningu og sameiningu útibúa. Til að tryggja heilleika sögunnar og mótstöðu gegn afturvirkum breytingum er óbein hashing af allri fyrri sögu í hverri skuldbindingu notuð, einnig er hægt að sannreyna einstök merki og skuldbindingar með stafrænum undirskriftum frá þróunaraðilum.

Í samanburði við fyrri útgáfu voru 483 breytingar samþykktar í nýju útgáfunni, unnar með þátttöku 86 forritara, þar af 31 sem tók þátt í þróuninni í fyrsta skipti. Helstu nýjungar:

  • Bætti --group valmöguleikanum við "git shortlog" skipunina, sem er ætluð til að birta samantektir með tölfræði úr breytingasögunni, fyrir handahófskennda flokkun skuldbindinga eftir sviðum sem eru ekki takmörkuð við höfund eða skuldbindingu. Til dæmis, til að birta lista yfir þróunaraðila með upplýsingum um fjölda breytinga, að teknu tilliti til aðstoðarmanna sem nefndir eru í reitnum „Co-authored-by“, geturðu notað skipunina: git shortlog -ns --group=author - -group=trailer:co-authored-by

    Hægt er að safna saman skammdegisúttakinu með því að nota sniðforrit og „--group“ valmöguleikinn gerir þér kleift að einfalda sköpun flókinna skýrslna verulega og losna við fleiri flokkunarskipanir. Til dæmis, til að búa til skýrslu sem sýnir hversu margar skuldbindingar fyrir tiltekna útgáfu voru framdir í hverjum mánuði, gætirðu notað: git shortlog v2.38.0.. --date='format:%Y-%m' --group=' %cd' -s 2 2022-08 47 2022-09 405 2022-10 194 2022-11 5 2022-12 Áður hefði sort og uniq þurft að framkvæma svipaða aðgerð: git log v2.38.0.. --date. ='snið:%Y -%m' --snið='%cd' | flokka | einstakt -c

  • Möguleiki „cruft packs“ vélbúnaðarins, hannaður til að pakka óaðgengilegum hlutum sem ekki er vísað til í geymslunni (útibú eða merki eru ekki vísað til), hefur verið aukin. Hlutir sem ekki er hægt að ná til eru fjarlægðir af sorphirðu, en eru í geymslunni í ákveðinn tíma áður en þeir eru fjarlægðir til að forðast keppnisaðstæður. „Cruft packs“ vélbúnaðurinn gerir þér kleift að geyma alla hluti sem ekki er hægt að ná til í einni pakkaskrá og endurspegla gögnin um breytingatíma hvers hlutar í sérstakri töflu sem er geymd í sérstakri skrá með „.mtimes“ endingunni svo að þau geri það ekki skarast við heildarbreytingartímann.

    Tíminn sem hlutir sem ekki er hægt að ná til eyða í geymslunni áður en þeim er í raun eytt er ákvarðaður af valkostinum "--prune= ". Sem sagt, þó að seinkun fyrir eyðingu sé sæmilega áhrifarík og hagnýt leið til að koma í veg fyrir að geymsla skemmist vegna keppnisástands, þá er hún ekki 100% áreiðanleg. Til að gera það auðveldara að endurheimta bilaða geymslu veitir nýja útgáfan möguleika á að vista hluti sem vantar með því að bæta "--expire-to" valkostinum við "git repack" skipunina, sem gerir þér kleift að tilgreina skrá til að búa til ytri afrit af öllum eyddum hlutum. Til dæmis, til að vista óaðgengilega hluti í backup.git skránni sem hafa ekki breyst á síðustu 5 mínútum, geturðu notað skipunina: git repack --cruft --cruft-expiration=5.minutes.ago -d --expire -to=../backup.git

  • Verulega aukinn (allt að 70%) hraði "git grep --cached" aðgerðarinnar þegar leitað er á svæðum sem nota hluta klónun (sparse-checkout) og sem eru til hlutavísitölur (sparse index). Áður fyrr, þegar valmöguleikinn „--cached“ var tilgreindur, var fyrst leitað í venjulegu vísitölunni og síðan hlutanum, sem leiddi til merkjanlegra tafa þegar leitað var í stórum geymslum.
  • Hraðari framkvæmd á þjóninum að athuga tengingu nýrra hluta áður en þeir eru settir í geymsluna þegar „git push“ aðgerðin er framkvæmd. Vegna breytinga á að taka tillit til þess að athuga aðeins yfirlýsta hlekki, í prófunargeymslu með 7 milljón hlekki, þar af aðeins 3% sem falla undir ýtaaðgerðina, gerðu hagræðingarnar kleift að stytta eftirlitstímann um 4.5 sinnum.
  • Til að verjast hugsanlegu flæði heiltölu í kóða, "git apply" stjórnin takmarkar hámarksstærð plástra sem hægt er að vinna úr. Ef plásturinn fer yfir 1 GB mun villa birtast.
  • Til að verjast hugsanlegum veikleikum hafa breytingar verið gerðar til að hreinsa upp óþarfa upplýsingar úr hausum sem settar eru þegar h2h3 einingin er notuð með GIT_TRACE_CURL=1 eða GIT_CURL_VERBOSE=1 valkostinum ásamt HTTP/2.
  • Þegar þú framkvæmir útskráningaraðgerð á útibúi sem er táknrænn hlekkur í aðra útibú, prentar skipunin "git symbolic-ref HEAD" nú nafn markútibúsins frekar en nafnið á táknræna hlekknum.
  • Bætti stuðningi við @{-1} röksemdin við "--edit-description" ("git branch --edit-description @{-1}") valkostinn til að breyta lýsingu á fyrri grein.
  • Bætti við "git merge-tree --stdin" skipuninni til að senda færibreytulistann í gegnum venjulegt inntak.
  • Á netskráarkerfum er fsmonitor meðhöndlunin, sem fylgist með breytingum á skráarkerfinu, sjálfkrafa óvirk.

Heimild: opennet.ru

Bæta við athugasemd