Git 2.39 frumstýringarútgáfa

Eftir tveggja mánaða þróunarferli hefur Git 2.39, dreifða frumkóðastjórnunarkerfið, verið gefið út. Git er eitt vinsælasta, áreiðanlegasta og afkastamesta útgáfustýringarkerfið og býður upp á sveigjanlega, ólínulega þróunarmöguleika sem byggja á greiningu og sameiningu. Til að tryggja sögulegt heilleika og seiglu gagnvart afturvirkum breytingum er notað óbeint hashing á allri fyrri sögu í hverri commit, og einnig er hægt að nota stafrænar undirskriftir einstakra tags og commits.

Í samanburði við fyrri útgáfu inniheldur nýja útgáfan 483 breytingar sem 86 forritarar tóku þátt í, þar af voru 31 nýir í verkefninu. Helstu nýjungar eru meðal annars:

  • Skipunin „git shortlog“, sem sýnir samantektartölfræði úr sögu framkvæmda, býður nú upp á „--group“ valmöguleikann fyrir sérsniðna flokkun framkvæmda eftir öðrum sviðum en höfundi eða framkvæmdaraðila. Til dæmis, til að birta lista yfir forritara með upplýsingum um fjölda breytinga, þar á meðal framlagsaðila sem nefndir eru í reitnum „Meðhöfundur“, er hægt að nota skipunina: git shortlog -ns --group=höfundur --group=trailer:meðhöfundur-af-samstarfi

    Hægt er að safna saman úttaki Shortlog með því að nota sniðsskilgreiningar og valkosturinn "--group" gerir það mun auðveldara að búa til flóknar skýrslur án þess að þurfa að keyra viðbótar flokkunarskipanir. Til dæmis, til að búa til skýrslu sem sýnir hversu margar skuldbindingar fyrir tiltekna útgáfu voru samþykktar í hverjum mánuði, gætirðu tilgreint: 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 þurfti að nota sort og uniq tólin fyrir svipaða aðgerð: git log v2.38.0.. --date='format:%Y-%m' --format='%cd' | sort | uniq -c

  • „Cruft packs“ aðferðin, sem er hönnuð til að pakka óaðgengilegum hlutum sem ekki er vísað til af greinum eða merkjum í geymslunni, hefur verið stækkuð. Óaðgengilegir hlutir eru safnaðir í rusl en eru áfram í geymslunni í ákveðinn tíma áður en þeir eru fjarlægðir til að koma í veg fyrir kapphlaup. „Cruft packs“ aðferðin gerir kleift að geyma alla óaðgengilega hluti í einni pakkaskrá og geyma breytingartíma fyrir hvern hlut í sérstakri töflu sem er geymd í sérstakri skrá með viðskeytinu „.mtimes“, þannig að þeir trufla ekki heildarbreytingartímann.

    Tíminn sem óaðgengilegir hlutir eru í geymslunni áður en þeim er í raun eytt er ákvarðaður með valkostinum "--prune=". „Þó að seinkun á eyðingu sé nokkuð áhrifarík og hagnýt leið til að koma í veg fyrir spillingu í geymslum vegna kapphlaupsaðstæðna, er hún ekki 100% áreiðanleg. Til að einfalda endurheimt skemmdra geymslusafna býður nýja útgáfan upp á möguleikann á að varðveita hluti sem vantar. Í þessu skyni hefur valmöguleikinn „--expire-to“ verið bætt við skipunina „git repack“. Þessi valmöguleiki gerir þér kleift að tilgreina skrá til að búa til utanaðkomandi afrit af öllum eyddum hlutum. Til dæmis, til að vista óaðgengileg hluti sem hafa ekki breyst síðustu 5 mínútur í backup.git skránni, geturðu notað skipunina: git repack --cruft --cruft-expiration=5.minutes.ago -d --expire-to=../backup.git“.

  • Afköst skipunarinnar „git grep --cached“ hafa aukist verulega (allt að 70%) þegar leitað er á svæðum sem nota sparse-checkout og hafa hlutavísitölur (sparse index). Áður, þegar valmöguleikinn „--cached“ var tilgreindur, var fyrst leitað í venjulegu vísitölunni, síðan í hlutavísitölunum, sem leiddi til umtalsverðra tafa við leit í stórum gagnasöfnum.
  • Framkvæmd hefur verið hraðað netþjónn Að athuga tengingu nýrra hluta áður en þeim er komið fyrir í geymslunni meðan á git ýtingaraðgerðinni stendur. Með því að skipta yfir í að taka aðeins tillit til skilgreindra tengla við athugun, í prufugeymslu með 7 milljón tenglum, þar sem aðeins 3% þeirra voru náð með ýtingaraðgerðinni, styttu þessar hagræðingar athugunartímann um 4.5 sinnum.
  • Til að koma í veg fyrir hugsanlega heiltöluflóð í kóðanum takmarkar skipunin „git apply“ nú hámarksstærð unninna lagfæringa. Sérhver stærð lagfæringa sem fer yfir 1 GB mun nú valda villu.
  • Til að verjast hugsanlegum veikleikum hafa breytingar verið gerðar til að hreinsa upp óþarfa upplýsingar úr hausum sem eru settir upp þegar h2h3 einingin er notuð með GIT_TRACE_CURL=1 eða GIT_CURL_VERBOSE=1 valkostinum ásamt HTTP/2.
  • Þegar úttekt er framkvæmd á grein sem er táknrænn tengill við aðra grein, þá prentar git symbolic-ref HEAD skipunin nú nafn markgreinarinnar frekar en nafn táknræna tengilsins.
  • Bætt við stuðningi við @{-1} færibreytuna í valkostinn "--edit-description" ("git branch --edit-description @{-1}") til að breyta lýsingu á fyrri grein.
  • Bætti við skipuninni "git merge-tree --stdin" sem gerir þér kleift að senda lista af valkostum í gegnum staðlaða inntaksstrauminn.
  • Í netskráarkerfum er fsmonitor meðhöndlunin, sem fylgist með breytingum í skráarkerfinu, sjálfgefið óvirk.

Heimild: opennet.ru

Kauptu áreiðanlega hýsingu fyrir síður með DDoS vernd, VPS VDS netþjónum 🔥 Kauptu áreiðanlega vefhýsingu með DDoS vörn, VPS VDS netþjónum | ProHoster