Pas tri muajsh zhvillim është publikuar versioni i sistemit të shpërndarë të menaxhimit të përmbajtjes Git 2.46. Git është një nga sistemet më të njohura, të besueshme dhe me performancë të lartë për menaxhimin e versioneve, duke ofruar mjete fleksibël për zhvillimin jo linear, të bazuar në degëzimin dhe bashkimin e degëve. Për të garantuar integritetin e historisë dhe qëndrueshmërinë ndaj ndryshimeve "me retroaktivitet", përdoret një hashim i fshehtë i gjithë historisë së mëparshme në çdo commit, dhe gjithashtu është e mundur të verifikoni me nënshkrime digjitale etiketat dhe commit-et e veçanta. Kodi i Git shpërndahet nën licencën GPLv2+.
Krahasuar me versionin e kaluar, versione i ri përfshinh 746 ndryshime, të përgatitura me pjesëmarrjen e 96 zhvilluesve, nga të cilët 31 marrin pjesë për herë të parë në zhvillim. Novitet kryesorë:
- ĂshtĂ« shtuar mbĂ«shtetje eksperimentale pĂ«r njĂ« lloj tĂ« ri tĂ« hartave tĂ« bitĂ«ve - "bitmap tĂ« arritshmĂ«risĂ« pseudo-bashkuese", nĂ« tĂ« cilat, ndryshe nga struktura "bitmap tĂ« arritshmĂ«risĂ«", tĂ« dhĂ«nat mbi grupe objektesh qĂ« kanĂ« lidhje me komitetet ruhen jo nĂ« lidhje me secilin komitet tĂ« veçantĂ«, por nĂ« lidhje me disa komitete menjĂ«herĂ«. Kjo organizim lejon pĂ«rdorimin e njĂ« hartĂ« tĂ« vetme bitĂ«sh pĂ«r tĂ« pĂ«rcaktuar objektet pĂ«r komitetet nĂ« degĂ« tĂ« ndryshme, gjĂ« qĂ« nĂ« depo tĂ« mĂ«dha ofron mundĂ«sinĂ« pĂ«r tĂ« shmangur krijimin e njĂ« numri tĂ« madh tĂ« hartave tĂ« veçanta tĂ« bitĂ«ve dhe nĂ« mĂ«nyrĂ« tĂ« dukshme pĂ«rshpejton kalimin e objekteve pĂ«r tĂ« pĂ«rcaktuar se cilat objekte duhet t'i dĂ«rgohen klientit gjatĂ« kryerjes sĂ« operacioneve si "git fetch", "git rev-list" dhe "git clone". PĂ«r tĂ« pĂ«rfshirĂ« kĂ«tĂ« lloj tĂ« ri tĂ« hartave tĂ« bitĂ«ve dhe pĂ«r tĂ« pĂ«rcaktuar logjikĂ«n e zgjedhjes dhe pĂ«rdorimit tĂ« tyre, Ă«shtĂ« propozuar njĂ« seri konfigurimesh "bitmapPseudoMerge": git config bitmapPseudoMerge.all.pattern ârefs/(heads|tags)/â git config bitmapPseudoMerge.all.threshold now git config bitmapPseudoMerge.all.stableThreshold never git repack -adb
- ĂshtĂ« implementuar njĂ« ndĂ«rfaqe e re komandash pĂ«r komandĂ«n «git config», ku nĂ« vend tĂ« opsioneve tĂ« shpĂ«rndara pĂ«r shikimin, rinomin dhe eliminimin e konfigurimeve dhe seksioneve, si «âget», «âget-all», «âunset» dhe «âremove-section», ofrohet njĂ« grup komandash tĂ« ndara. PĂ«r shembull, pĂ«r tĂ« shfaqur tĂ« gjitha konfigurimet e depove tani mund tĂ« pĂ«rdorni komandĂ«n «git config list», ndĂ«rsa pĂ«r tĂ« parĂ« pĂ«rmbajtjen e njĂ« parametri tĂ« caktuar â komandĂ«n «git config get ». PĂ«r pĂ«rpunimin e mĂ«tejshĂ«m tĂ« rezultateve, mund tĂ« pĂ«rdorni opsionin «âregexp» pĂ«r tĂ« caktuar njĂ« filtĂ«r nĂ« bazĂ« tĂ« njĂ« shprehjeje tĂ« rregullt.
- Në protokollin «credential helper», i aplikuar për transmetimin e akreditimeve kur bëni kërkesa në repo me akses të kufizuar, është shtuar mbështetje për fushat e reja «authtype» dhe «credential», që lejojnë krijimin e trajtuesve për sistemet e HTTP-autentikimit, që nuk kufizohen vetëm në verifikimin e emrit të përdoruesit dhe fjalëkalimit, për shembull, gjatë përdorimit të Bearer Token në OAuth 2.0. Deri më tani, për të punuar me sisteme të tilla të autentikimit duhej të specifikoni të dhëna konfidenciale në mënyrë të hapur në parametrin http.extraHeader. Për më tepër, në protokoll është shtuar mundësia për të ruajtur gjendjen e çdo trajtuesi të akreditimeve për të mbështetur metoda të shumëfishta të autentikimit, të përdorura në protokolle të tilla si NTLM dhe Kerberos.
- ĂshtĂ« vazhduar zhvillimi i backend-it eksperimental "reftable" pĂ«r ruajtjen efikase nĂ« depot e lidhjeve tĂ« degĂ«ve dhe etiketimeve. Ky backend pĂ«rdor njĂ« ruajtje me blloqe, e cila aplikohet nga projekti JGit dhe Ă«shtĂ« optimizuar pĂ«r ruajtjen e njĂ« numri shumĂ« tĂ« madh lidhjesh (format tradicionale tĂ« ruajtjes sĂ« lidhjeve shkaktojnĂ« kosto tĂ« dukshme nĂ« depo me numĂ«r tĂ« lartĂ« lidhjesh pĂ«r shkak tĂ« vendosjes sĂ« njĂ« numri jashtĂ«zakonisht tĂ« madh skedarĂ«sh nĂ« njĂ« katalog kur ruajnĂ« lidhjet nĂ« katalogun $GIT_DIR/refs ose nevojĂ«s pĂ«r tĂ« regjistruar njĂ« skedar tĂ« madh me çdo pĂ«rditĂ«sim kur lidhjet ruhen nĂ« skedarin $GIT_DIR/packed_refs). NĂ« versionin e ri Ă«shtĂ« shtuar komanda "git refs migrate âref-format=reftable" pĂ«r tĂ« transferuar repozitat ekzistuese nĂ« backend-in "reftable" (mĂ« parĂ« backend-i aktivizohej vetĂ«m gjatĂ« inicializimit tĂ« repozitĂ«s).
- NĂ« komandĂ«n git Ă«shtĂ« shtuar opsioni "âno-advice", i cili ndalon tĂ« gjitha mesazhet me rekomandime dhe kĂ«shilla, gjĂ« qĂ« mund tĂ« jetĂ« e dobishme pĂ«r parandalimin e mbushjes sĂ« logut me informacion tĂ« pĂ«rfitueshĂ«m gjatĂ« thirrjes automatike tĂ« git.
- Ka filluar procesin e përkthimit të disa kontrollove nga grupi i testimit në përdorimin e testeve njësi, e cila do të thjeshtojë testimin e komponentëve të nivelit të ulët dhe do të rrisë efikasitetin e procesit të testimit në platformën Windows, në të cilën shfaqen shpenzime të mëdha për shkak të ekzekutimit të një numri të madh procesesh gjatë ekzekutimit të testeve të implementuara si skripte shell.
- Në kodin për analizimin e cilësimeve të ngjyrave është shtuar mundësia e përdorimit të formatit «#RGB» përveç «#RRGGBB».
Burimi: opennet.ru
