Lëshimi i sistemit të menaxhimit të teksteve burimore Git 2.56

Riluazhi i sistemit të shpërndarë për menaxhimin e teksteve burimore Git 2.56. Kodi Git shpërndahet nën licencën GPLv2+. Krahasuar me lëshimin e kaluar, në versionin e ri janë pranuar 748 ndryshime, të përgatitura me pjesëmarrjen e 104 zhvilluesve, 39 prej të cilëve morën pjesë për herë të parë në zhvillimin e Git. Kryesore risitë (1, 2, 3):

  • Shtuar mĂ«nyra «git add —resolved» pĂ«r zgjidhjen e konflikteve gjatĂ« bashkimit tĂ« degĂ«ve, e cila kontrollon skedarĂ«t pĂ«r praninĂ« e treguesve tĂ« konflikteve dhe, nĂ« rast se gjen njĂ« tregues nĂ« ndonjĂ« skedar, nxjerr njĂ« gabim, duke mos indeksuar asnjĂ« nga skedarĂ«t dhe duke treguar listĂ«n e skedarĂ«ve qĂ« kĂ«rkojnĂ« rregullim. Ndryshe nga komandat «git add —update», nĂ« mĂ«nyrĂ«n e re trajtohen vetĂ«m skedarĂ«t tĂ« cilĂ«t janĂ« nĂ« gjendje konflikti, ndĂ«rsa skedarĂ«t e modifikuar tĂ« pa lidhur me konfliktin injorohen, duke lejuar njĂ« pĂ«rfundim tĂ« sigurt tĂ« bashkimit tĂ« degĂ«ve, edhe nĂ«se nĂ« katalogun punues ka redaktime tĂ« tjera tĂ« papĂ«rfunduara (komanda «git add —update» i shtonte nĂ« indeks tĂ« gjithĂ« skedarĂ«t e modifikuar qĂ« ishin tĂ« ndjekur mĂ« parĂ« nĂ« katalogun punues).
  • Punimi me repozitorĂ«t e mĂ«dhenj Ă«shtĂ« optimizuar ndjeshĂ«m, pĂ«r shkak tĂ« optimizimit tĂ« algoritmit pĂ«r gjetjen e komiteteve tĂ« fundit tĂ« pĂ«rbashkĂ«ta gjatĂ« bashkimit tĂ« degĂ«ve dhe krahasimit tĂ« komiteteve. GjatĂ« procesit tĂ« punĂ«s tani merren parasysh komitetet qĂ« i pĂ«rkasin pĂ«rjashtimisht njĂ« prej degĂ«ve, çka lejon ndalimin e skanimit menjĂ«herĂ« pas zbulimit tĂ« tĂ« gjithĂ« paraardhĂ«sve tĂ« mundshĂ«m, pa humbur kohĂ« nĂ« ndjekjen e historisĂ« sĂ« ndryshimeve. NĂ« njĂ« nga repozitorĂ«t e testuar, shpejtĂ«sia e kĂ«rkimit u rrit mesatarisht 20 herĂ«, ndĂ«rsa nĂ« njĂ« tjetĂ«r pĂ«rshpejtimi arriti deri nĂ« 70 herĂ«. Duke ekzekutuar komandĂ«n «git merge-base —all v4.8 v4.9» nĂ« njĂ« repozitor tĂ« bĂ«rthamĂ«s Linux, numri i hapave tĂ« kalimit u ul nga 167,000 nĂ« 3,800.
  • PĂ«r pĂ«rdorimin nĂ« serverĂ«, Ă«shtĂ« adaptuar mĂ«nyra e ripakimit «—path-walk», e cila lejon krijimin e skedarĂ«ve pack mĂ« kompakt pĂ«rmes grupimit tĂ« objekteve sipas rrugĂ«s sĂ« tyre nĂ« pemĂ«n e katalogĂ«ve (pĂ«r shembull, pĂ«r repozitorin Fluent UI, pĂ«rdorimi i «—path-walk» lehtĂ«soi uljen e madhĂ«sisĂ« sĂ« skedarit pack nga 558 MB nĂ« 164 MB). NĂ« versionin e ri Ă«shtĂ« implementuar mundĂ«sia e pĂ«rdorimit tĂ« mĂ«nyrĂ«s «—path-walk» sĂ« bashku me hartat e arritshmĂ«risĂ« (reachability bitmap) dhe ishujt delta (delta island), tĂ« cilat pĂ«rdoren nga ofruesit e git-hosting pĂ«r tĂ« pĂ«rshpejtuar punĂ«n dhe pĂ«r tĂ« izoluar forkat nga repozitori kryesor.
  • Eliminimi i ngushticave qĂ« çonin nĂ« llogaritje tĂ« tepĂ«rta nĂ« depo tĂ« mĂ«dha: janĂ« hequr kontrollet e panevojshme tĂ« gjendjes sĂ« skedarĂ«ve gjatĂ« regjistrimit nĂ« reftable; Ă«shtĂ« shfuqizuar skanimi i pĂ«rsĂ«ritur i listĂ«s pĂ«r çdo futje tĂ« njĂ« skedari pack tĂ« ri; operacionet me reftable, ku janĂ« akumuluar shumĂ« rekordet e fshirjes janĂ« pĂ«rshpejtuar; Ă«shtĂ« optimizuar puna e "git diff" kur janĂ« caktuar kufizime pĂ«r rrugĂ«t e skedarĂ«ve. Pas optimizimeve, puna me reftable nĂ« numĂ«r tĂ« madh fshirjesh Ă«shtĂ« pĂ«rshpejtuar 65 herĂ« (nga 13 sekonda nĂ« 0.2 sekonda), dhe ekzekutimi i komandĂ«s problematike "git diff" nĂ« depozitĂ«n Chromium me 500000 elementĂ« nĂ« indeks tani zgjat 0.07 sekonda nĂ« vend tĂ« 8 minutave.
  • NĂ« ekipin eksperimental "git history", i cili ofron mundĂ«si pĂ«r ri-shkrimin e historisĂ« sĂ« ndryshimeve, Ă«shtĂ« shtuar operacioni "git history drop" pĂ«r tĂ« fshirĂ« njĂ« komit tĂ« zgjedhur me bashkimin automatik tĂ« pasardhĂ«sve tĂ« tij me komitin prind.
  • ËshtĂ« shtuar komanda "git branch —delete-merged ‘origin/*’ ‘topic-*'" pĂ«r fshirjen e sigurt tĂ« grupeve tĂ« degĂ«ve lokale, ndryshimet e tĂ« cilave tashmĂ« janĂ« dĂ«rguar nĂ« njĂ« depo tĂ« jashtme. PĂ«rdorimi i maskave mbĂ«shtetet pĂ«r filtrimin e degĂ«ve dhe depove. PĂ«r analizĂ«n e pretenduesve pĂ«r fshirje, pa e ekzekutuar nĂ« tĂ« vĂ«rtetĂ« operacionin, mund tĂ« pĂ«rdoret flamuri "—dry-run".
  • ËshtĂ« shtuar komanda "git refs create|update|delete|rename", e cila bashkon operacionet me nivel tĂ« ulĂ«t pĂ«r krijimin, fshirjen, riemĂ«rimin dhe pĂ«rditĂ«simin e referencave.
  • NĂ« komandĂ«n "git bisect run" Ă«shtĂ« shtuar opsioni "—reset-when-found=[]", i cili kthen automatikisht depozitĂ«n nĂ« gjendjen para fillimit tĂ« kĂ«rkimit ose e lĂ« aktiv komitin problematik, pa patur nevojĂ«n pĂ«r tĂ« ekzekutuar veçmas komandĂ«n "git bisect reset".
  • NĂ« komandĂ«n "git replay" Ă«shtĂ« shtuar flamuri "—linearize" pĂ«r pĂ«rdorimin e njĂ« topologjie tĂ« sheshtĂ« tĂ« pĂ«rzierjes, ashtu si me "git rebase —no-rebase-merges", por pa iu referuar pemĂ«s sĂ« punĂ«s.
  • NĂ« komandĂ«n "git log —follow" Ă«shtĂ« bĂ«rĂ« e mundur ndjekja e riemĂ«rimit tĂ« skedarĂ«ve nĂ« njĂ« histori ndryshimesh jo-lineare, pĂ«r shembull, gjatĂ« bashkimeve tĂ« nĂ«ndegĂ«ve. Ruga pĂ«r skedarin tani ruhet veçmas pĂ«r çdo komit prind, duke e bĂ«rĂ« rezultatin tĂ« pavarur nga rendi i kalimit tĂ« historisĂ« sĂ« komiteve.
  • Shtuar mundĂ«sia e pĂ«rdorimit tĂ« komandĂ«s «git repack -a —filter=blob:limit=1m —drop-filtered» pĂ«r tĂ« hequr objektet tĂ« mĂ«dha blob, tĂ« ngarkuara nĂ« kĂ«rkesĂ« (on demand) nga njĂ« depo ekstern dhe tĂ« pa pĂ«rdorura nĂ« indeksin aktual. Kur tĂ« bĂ«het referimi nĂ« kĂ«to objekte mĂ« vonĂ«, ato do tĂ« ngarkohen automatikisht pĂ«rsĂ«ri.
  • NĂ« komandĂ«n «git log —graph», pĂ«r grafĂ«t me disa ndĂ«rmarrje tĂ« pavarura Ă«shtĂ« realizuar shtimi i hapĂ«sirave pĂ«r tĂ« ndarĂ« qartĂ« komitet e pa lidhura.
  • Siguruar identifikimin e gabimeve tipike tĂ« shkrimit, siç Ă«shtĂ« specifikimi «git push origin/main» nĂ« vend tĂ« «git push origin main» ose «git branch —set-upstream-to origin main» nĂ« vend tĂ« «git branch —set-upstream-to=origin/main», dhe shfaqja e njĂ« kĂ«shille pĂ«r pĂ«rdorimin e variantit tĂ« saktĂ«.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster