Ukukhishwa kokulawula komthombo we-Git 2.39

Ngemuva kwezinyanga ezimbili zokuthuthukiswa, uhlelo lokulawula umthombo olusabalalisiwe lwe-Git 2.39 lukhishwe. I-Git ingenye yezinhlelo ezidume kakhulu, ezinokwethenjelwa nezisebenza kahle kakhulu zokulawula inguqulo, ehlinzeka ngamathuluzi okuthuthukisa aguquguqukayo angaqondile asekelwe ku-branching nokuhlanganisa. Ukuqinisekisa ubuqotho bomlando kanye nokumelana nezinguquko ze-retroactive, i-hashing engacacile yawo wonke umlando wangaphambilini isetshenziswa ekuzinikeleni ngakunye; kuyenzeka futhi ukuqinisekisa amathegi angawodwana kanye nokuzibophezela ngamasiginesha edijithali yonjiniyela.

Uma kuqhathaniswa nokukhululwa kwangaphambilini, inguqulo entsha yayihlanganisa izinguquko ezingu-483, ezilungiselelwe ngokubamba iqhaza kwabathuthukisi abangu-86, abangu-31 babo babambe iqhaza ekuthuthukisweni okokuqala. Okuqanjiwe okuyinhloko:

  • Umyalo we-“git shortlog”, odizayinelwe ukubonisa izifinyezo ezinezibalo ezivela emlandweni wezinguquko, wengeze inketho ethi “-group” yokuqoqa ngokungafanele kwezibopho ngezinkambu ezingagcini nje kumbhali noma umenzi. Isibonelo, ukuze ubonise uhlu lonjiniyela ngolwazi mayelana nenani lezinguquko, kucatshangelwa abasizi abashiwo endaweni ethi "Co-authored-by", ungasebenzisa umyalo: git shortlog -ns --group=author - -iqembu=i-trailer:ibhalwe ngokuhlanganyela

    Okuphumayo kwe-Shortlog kungahlanganiswa kusetshenziswa izicacisi zokufometha, futhi inketho ethi “--group” ingenza kube lula ukudalwa kwemibiko eyinkimbinkimbi futhi isuse isidingo semiyalo eyengeziwe yokuhlunga. Isibonelo, ukuze udale umbiko onolwazi mayelana nokuthi zingaki izibophezelo ekukhishweni okuthile okwamukelwe ngenyanga ngayinye, ungacacisa: 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 Ngaphambilini, ukwenza umsebenzi ofanayo bekuyodingeka ukusebenzisa uhlobo kanye nezinsiza ezihlukile: git log v2.38.0. .. —date='format:%Y -%m' —format='%cd' | hlunga | iyunithi -c

  • Amandla endlela “ye-cruft packs”, edizayinelwe ukupakisha izinto ezingafinyeleleki ezingabaluliwe endaweni yokugcina (okungabhekiselwanga kuzo amagatsha noma omaka), anwetshiwe. Izinto ezingafinyeleleki zisuswa umqoqi wezibi, kodwa zihlala endaweni yokugcina isikhathi esithile ngaphambi kokuba zisuswe ukuze kugwenywe izimo zobuhlanga. Indlela "ye-cruft packs" ikuvumela ukuthi ugcine zonke izinto ezingafinyeleleki kufayela elilodwa lephakethe, futhi ubonise idatha ngesikhathi sokulungiswa kwento ngayinye kuthebula elihlukile, eligcinwe kufayela elihlukile elinesandiso esithi ".mtimes", ukuze zenze lokho. ayidluleli nesikhathi esiphelele sokulungiswa.

    Ubude besikhathi izinto ezingafinyeleleki ezihlala ngazo endaweni yokugcina ngaphambi kokuba zisuswe ngempela bunqunywa inketho ethi “—prune=” " Kodwa-ke, nakuba ukubambezeleka ngaphambi kokususa kuyindlela ephumelelayo nesebenzayo yokuvimbela inkohlakalo yenqolobane ngenxa yezimo zohlanga, akuthembeki ngo-100%. Ukwenza kube lula ukubuyisela inqolobane eyonakele, ukukhishwa okusha kunikeza amandla okugcina izinto ezingekho ngokwengeza inketho ethi “--expire-to” kumyalo we-“git repack”, okuvumela ukuthi ucacise ifayela ukuze udale into yangaphandle. ikhophi yazo zonke izinto ezisusiwe. Isibonelo, ukuze ulondoloze izinto ezingafinyeleleki ezingakashintshi emizuzwini engu-5 edlule ku-backup.git ifayela, ungasebenzisa umyalo: git repack --cruft --cruft-expiration=5.minutes.ago -d --expire -kuya=../backup.git

  • Ikhuphuke kakhulu (kufika ku-70%) isivinini somsebenzi we-"git grep -cached" lapho usesha ezindaweni ezisebenzisa i-cloning eyingxenye (i-sparse-checkout) futhi okunezinkomba ezingaphelele (i-sparse index). Ngaphambilini, lapho kucaciswa inketho ethi "-cached", ukusesha kwenziwa kuqala kunkomba ejwayelekile, bese kuba ngokwengxenye, okuholele ekubambezelekeni okubonakalayo lapho kuseshwa ezindaweni zokugcina ezinkulu.
  • Ukuqinisekiswa kweseva kokuhlangana kwezinto ezintsha ngaphambi kokuba zibekwe endaweni yokugcina ngesikhathi sokusebenza kwe-"git push" kusheshisiwe. Ngokushintshela ku-accounting yezixhumanisi ezimenyezelwe kuphela lapho ubheka, endaweni yokugcina yokuhlola enezixhumanisi eziyizigidi eziyisi-7, okuyi-3% kuphela embozwe umsebenzi wokusunduza, ukulungiselelwa okwenziwe kwavumela ukunciphisa isikhathi sokuhlola izikhathi ezingu-4.5.
  • Ukuze uvikele ekuchichimeni kwenombolo engaba khona kukhodi, umyalo othi "git apply" ukhawulela umkhawulo kasayizi wamapeshi angacutshungulwa. Uma usayizi wepeshi udlula u-1 GB, iphutha lizovela manje.
  • Ukuze kuvikelwe ekubeni sengozini okungenzeka, izinguquko zenziwe ukuze kuhlanzwe ulwazi olungadingekile kumaheda asethwe lapho kusetshenziswa imojuli ye-h2h3 enenketho ye-GIT_TRACE_CURL=1 noma ye-GIT_CURL_VERBOSE=1 kanye ne-HTTP/2.
  • Lapho wenza ukuhlola egatsheni eliyisixhumanisi esingokomfanekiso kwelinye igatsha, umyalo othi "git symbolic-ref HEAD" manje ubonisa igama legatsha eliqondiwe kunegama le-symlink.
  • Kwengezwe usekelo lwe-agumenti @{-1} kunketho ethi “--edit-description” (“git branch —edit-description @{-1}”) ukuze kuhlelwe incazelo yegatsha langaphambilini.
  • Kwengezwe umyalo othi "git merge-tree --stdin" ukuze kudlule uhlu lwezinketho ngokufaka okujwayelekile.
  • Ezinhlelweni zamafayela enethiwekhi, isibambi se-fsmonitor, esiqapha izinguquko ohlelweni lwefayela, sikhutshazwa ngokuzenzakalelayo.

Source: opennet.ru

Engeza amazwana