Shpërndarja e sistemit të menaxhimit të kodit të burimit Git 2.31

Disponohet shpërndarja e sistemit të menaxhimit të kodit të burimit Git 2.31. Git është një nga sistemet më të njohura, të besueshme dhe me performancë të lartë për menaxhimin e versioneve, duke ofruar mjete fleksibile për zhvillimin jo linear, të bazuara në degëzimin dhe bashkimin e degëve. Për të siguruar integritetin e historisë dhe qëndrueshmërinë ndaj ndryshimeve "në të kaluarën" përdoret një hashim i implicit i gjithë historisë së mëparshme në çdo commit, gjithashtu është e mundur të konfirmohet përmes nënshkrimeve digjitale të zhvilluesve të etiketimeve dhe komiteve specifike.

Krahasuar me shpërndarjen e kaluar, versioni i ri pranoi 679 ndryshime, të përgatitura me pjesëmarrjen e 85 zhvilluesve, nga të cilët 23 morën pjesë për herë të parë në zhvillim. Risi kryesore:

  • Shtuar ekipi "git maintenance", qĂ« lejon tĂ« kryhen punĂ« periudhore nĂ« sisteme qĂ« nuk mbĂ«shtesin cron. PĂ«r shembull, me anĂ« tĂ« kĂ«tij ekipi, mund tĂ« organizoni njĂ« ekzekutim periodic tĂ« procesit tĂ« paketimit tĂ« depozitĂ«s, pĂ«r tĂ« mos pritur pĂ«rfundimin e bllokimit tĂ« depozitĂ«s gjatĂ« ekzekutimit automatik tĂ« paketimit ndĂ«rsa ekzekutoni komanda tĂ« ndryshme. Ekipi "git maintenance" lejon kryerjen e optimizimeve dhe operacioneve pĂ«rmbajtĂ«sore pĂ«r tĂ« mbajtur strukturĂ«n optimale tĂ« depozitĂ«s nĂ« sfond, pa bllokuar seancĂ«n interaktive — njĂ« herĂ« nĂ« orĂ« kryhet puna pĂ«r ngarkimin e parakohshĂ«m tĂ« objekteve tĂ« reja nga depozita e largĂ«t dhe pĂ«rditĂ«simin e skedarit me grafikĂ«n e komiteteve, ndĂ«rsa çdo natĂ« fillon procesi i paketimit tĂ« depozitĂ«s.
  • ËshtĂ« shtuar mbĂ«shtetja pĂ«r mbajtjen nĂ« disk tĂ« indeksit tĂ« kthyer (revindex) pĂ«r skedarĂ«t pack. TĂ« kujtojmĂ« se Git ruan tĂ« gjitha tĂ« dhĂ«nat si objekte, tĂ« cilat vendosen nĂ« skedarĂ« tĂ« veçantĂ«. PĂ«r tĂ« pĂ«rmirĂ«suar efikasitetin e punĂ«s me depo, objektet gjithashtu vendosen nĂ« skedarĂ« pack, ku informacioni paraqitet nĂ« formĂ«n e njĂ« rrjedhĂ«s objektesh qĂ« ndjekin njĂ«ra-tjetrĂ«n (njĂ« format i ngjashĂ«m pĂ«rdoret kur transferohen objekte me komandat git fetch dhe git push). PĂ«r çdo skedar pack krijohet njĂ« skedar indeksi (.idx), i cili lejon tĂ« pĂ«rcaktohet nĂ« mĂ«nyrĂ« shumĂ« tĂ« shpejtĂ« pozita nĂ« skedarin pack sipas identifikuesit tĂ« objektit, ku ruhet ky objekt. Indeksi i kthyer (.rev) i propozuar nĂ« Git 2.31 ka pĂ«r qĂ«llim optimizimin e procesit tĂ« pĂ«rcaktimit tĂ« identifikuesit tĂ« objektit sipas informacionit mbi vendosjen e objektit nĂ« skedarin pack.

    Më parë, një transformim i tillë kryhej në flukso gjatë analizës së skedarëve pack dhe ruhej vetëm në memorie, gjë që nuk lejonte ripërdorimin e tillë të indekseve dhe detyronte të gjenerohej indeksi çdo herë. Operacioni i ndërtimit të indeksit përfshin ndërtimin e një array prej çiftave "objekt-pozit" dhe renditjen e tij sipas pozites, gjë që mund të marrë shumë kohë për skedarë pack të mëdhenj.

    Për shembull, operacioni i tregimit të përmbajtjes së objekteve, në të cilin përdoret indeksi direkt, u krye 62 herë më shpejt se operacioni i shfaqjes së madhësisë së objekteve, për të cilin të dhënat e lidhjes së pozites me objektin nuk u indeksuan. Pas përdorimit të indeksit të kundërt, këto operacione filluan të kërkonin një kohë të ngjashme. Indekset e kundërt gjithashtu lejojnë përshpejtimin e operacioneve të dërgimit të objekteve gjatë kryerjes së komandave fetch dhe push përmes transferimit të drejtpërdrejtë të të dhënave tashmë të gatshme nga disku. Me default, indekset e kundërt nuk krijohen; për të gjeneruar ato, kërkohet aktivizimi i cilësimit "git config pack.writeReverseIndex true" me paketimin e mëpasshëm të depozitos me komandën "git repack -Ad".

  • JanĂ« shtuar optimizime tĂ« performancĂ«s, tĂ« bazuara nĂ« shfaqjen e formatit tĂ« skedarĂ«ve commit-graph, i cili pĂ«rdoret pĂ«r tĂ« optimizuar qasjen nĂ« informacionin e komiteteve, tĂ« dhĂ«nat e reja tĂ« numrit tĂ« gjeneratĂ«s sĂ« komitetit, tĂ« cilat mund tĂ« pĂ«rdoren pĂ«r tĂ« pĂ«rshpejtuar operacione tĂ« tjera me komitetet.
  • JanĂ« zgjeruar mundĂ«sitĂ« pĂ«r tĂ« tejkaluar emrin e degĂ«s kryesore, e cila pĂ«rdoret si default nĂ« depo tĂ« reja (konfigurimi init.defaultBranch). Kur i qaset depozita tĂ« jashtme, git pĂ«rpiqet tĂ« nxjerrĂ« degĂ«n qĂ« tregon HEAD, dmth. nĂ«se depoja e jashtme server pĂ«rdor degĂ«n «main» si default, operacioni «git clone» do tĂ« pĂ«rpiqet tĂ« nxjerrĂ« lokalish «main». NĂ« Git 2.31, mbĂ«shtetje pĂ«r njĂ« nxjerrje tĂ« tillĂ« tani Ă«shtĂ« realizuar edhe pĂ«r depo tĂ« zbrazĂ«ta. PĂ«r shembull, kur klononi lokalish njĂ« depo tĂ« re para se tĂ« shtoni patch-at e parĂ« nĂ« tĂ«, kopja lokale tani do tĂ« pĂ«rmbajĂ« emrin e caktuar tĂ« degĂ«s kryesore si default. serveri JanĂ« shtuar emri i degĂ«s kryesore si default.
  • Te komanda «git rev-list» Ă«shtĂ« shtuar opsioni «—disk-usage», i cili lejon tĂ« tregojĂ« njĂ« pĂ«rmbledhje tĂ« tĂ« dhĂ«nave mbi madhĂ«sinĂ« e objekteve.
  • NĂ« pritje tĂ« zĂ«vendĂ«simit tĂ« ardhshĂ«m tĂ« backend-it pĂ«r pĂ«rfundimin e bashkimeve, Ă«shtĂ« optimizuar ndjeshĂ«m pĂ«rcaktimi i rinovimeve.
  • ËshtĂ« ndĂ«rprerĂ« mbĂ«shtetje pĂ«r bibliotekĂ«n e vjetruar tĂ« shprehjeve tĂ« rregullta PCRE1.
  • ËshtĂ« ofruar mundĂ«sia pĂ«r tĂ« detyruar ndalimin e pĂ«rdorimit tĂ« lidhjeve tĂ« shkurtra, qĂ« vepron pavarĂ«sisht algoritmit tĂ« hash-it. Ndalimi aktivizohet duke i caktuar vlerĂ«n "no" parametrave core.abbrev.
  • NĂ« komandĂ«n "git rev-parse" Ă«shtĂ« shtuar mundĂ«sia "--path-format=(absolute|relative)" pĂ«r tĂ« pĂ«rcaktuar qartĂ« nĂ«se do tĂ« dalin rrugĂ«t relative ose absolute.
  • NĂ« skriptet pĂ«r plotĂ«simin automatik tĂ« hyrjeve nĂ« Bash, Ă«shtĂ« lehtĂ«suar shtimi i rregullave tĂ« plotĂ«simit pĂ«r komandat nĂ«n "git".
  • NĂ« komandĂ«n "git bundle" Ă«shtĂ« shtuar mundĂ«sia "--stdin" pĂ«r tĂ« lexuar lidhjet nga kanali standard i hyrjes.
  • NĂ« komandĂ«n "git log" Ă«shtĂ« shtuar njĂ« mundĂ«si e re "--diff-merges=".
  • NĂ« komandĂ«n "git ls-files" Ă«shtĂ« shtuar mundĂ«sia "--deduplicatecan" pĂ«r tĂ« eliminuar kopjet gjatĂ« daljes.
  • JanĂ« shtuar maska tĂ« reja pĂ«r pĂ«rjashtimin e gamĂ«s sĂ« komiteteve — "^!" dhe "^-".
  • NĂ« komandĂ«n "git range-diff" janĂ« shtuar mundĂ«sitĂ« "--left-only" dhe "--right-only" pĂ«r tĂ« treguar vetĂ«m njĂ« anĂ« tĂ« gamĂ«s sĂ« krahasuar.
  • NĂ« komandat «git diff» dhe «git log» janĂ« shtuar opsionet «—skip-to=<path>» dhe «—rotate-to=<path>» pĂ«r tĂ« kaluar ose pĂ«r tĂ« shkuar nĂ« fund tĂ« rrugĂ«ve fillestare.
  • NĂ« komandĂ«n «git difftool» Ă«shtĂ« shtuar opsioni «—skip-to=<path>» pĂ«r tĂ« vazhduar njĂ« sesion tĂ« ndĂ«rprerĂ« nga njĂ« rrugĂ« tĂ« caktuar.
  • Kodi i sjelljes (Code-of-conduct), qĂ« pĂ«rcakton parimet themelore pĂ«r zgjidhjen e situatave konflikti midis zhvilluesve, Ă«shtĂ« pĂ«rditĂ«suar nĂ« versionin 2.0 (mĂ« parĂ« ishte pĂ«rdorur versioni 1.4).

    Burimi: opennet.ru
Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster