Pas pas tre muajsh zhvillimi, është botuar versioni i sistemit të shpërndarë të menaxhimit të kodit burimor Git 2.46. Git është një nga sistemet më të popullarizuara, të besueshme dhe me performancë të lartë për menaxhimin e versioneve, e cila ofron mjete fleksibile për zhvillim jo linear, të bazuar në degëzim dhe bashkim të degëve. Për të siguruar integritetin e historisë dhe qëndrueshmërinë ndaj ndryshimeve "me retrospektivë", përdoret një hash i implicit i gjithë historisë së mëparshme në çdo commit, si dhe është e mundur verifikimi me firma dixhitale të zhvilluesve për etiketat dhe commitët e veçantë. Kodi i Git shpërndahet nën licencën GPLv2+.
Në krahasim me versionin e kaluar, në versionin e ri janë pranuar 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. Risitë kryesore:
- Shtuar mbĂ«shtetje eksperimentale pĂ«r njĂ« lloj tĂ« ri grafikash bitmap â "pseudo-merge reachability bitmap", nĂ« tĂ« cilat, pĂ«r dallim nga struktura "reachability bitmap", tĂ« dhĂ«nat mbi grupe objektesh qĂ« kanĂ« lidhje me commitĂ«t ruhen jo nĂ« lidhje me çdo commit tĂ« veçantĂ«, por nĂ« lidhje me disa commitĂ«. Kjo organizim lejon pĂ«rdorimin e njĂ« bmp tĂ« vetĂ«m gjatĂ« pĂ«rcaktimit tĂ« objekteve pĂ«r commitĂ«t nĂ« dega tĂ« ndryshme, e cila nĂ« depo tĂ« mĂ«dha lejon tĂ« shmanget krijimi i njĂ« numri tĂ« madh bitmap-esh tĂ« veçantĂ« dhe ndihmon nĂ« pĂ«rspjedhjen e objekteve pĂ«r tĂ« pĂ«rcaktuar se cilat objekte duhet t'i dĂ«rgohen client-it gjatĂ« kryerjes sĂ« operacioneve si "git fetch", "git rev-list" dhe "git clone". PĂ«r tĂ« aktivizuar llojin e ri tĂ« bitmap-eve 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Ă« zbatuar njĂ« ndĂ«rfaqe e re komandash pĂ«r komandĂ«n 'git config', nĂ« tĂ« cilĂ«n janĂ« propozuar njĂ« grup nĂ«nkomandash nĂ« vend tĂ« opsioneve tĂ« ndara pĂ«r shikimin, rinaming dhe fshirjen e konfigurimeve dhe seksioneve, tĂ« tilla si '--get', '--get-all', '--unset' dhe '--remove-section'. PĂ«r shembull, pĂ«r tĂ« parĂ« tĂ« gjitha konfigurimet e repositorit 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 filtrimin e mĂ«tejshĂ«m tĂ« rezultateve duke pĂ«rdorur opsionin '--regexp', mund tĂ« vendosni njĂ« filtri bazuar nĂ« shprehje tĂ« rregullta.
- Në protokollin 'credential helper', i përdorur për të transmetuar kredencialet kur i qasemi repositorëve me qasje të kufizuar, është shtuar mbështetje për fushat e reja 'authtype' dhe 'credential', që lejojnë krijimin e trajtuesve për sistemet e HTTP-autentifikimit, të cilat nuk kufizohen në verifikimin e emrit të përdoruesit dhe fjalëkalimit, për shembull, gjatë përdorimit të Bearer Token në OAuth 2.0. Përpara se të ishte e nevojshme të përcaktoni të dhënat e ndjeshme hapur në parametrin http.extraHeader për të punuar me sisteme të tilla autentifikimi. Gjithashtu, në protokoll është shtuar mundësia e ruajtjes së gjendjes së secilit trajtues të kredencialeve për të mbështetur metodat e autentifikimit me shumë hapa, të përdorura në protokolle të tilla si NTLM dhe Kerberos.
- ĂshtĂ« vazhduar zhvillimi i backend-it eksperimental 'reftable' pĂ«r ruajtjen efikase nĂ« repozitor tĂ« lidhjeve nĂ« degĂ« dhe etiketat. Ky backend pĂ«rdor njĂ« depo blloku, e cila pĂ«rdoret nga projekti JGit dhe Ă«shtĂ« optimizuar pĂ«r tĂ« ruajtur njĂ« numĂ«r shumĂ« tĂ« madh lidhjesh (format tradicionale tĂ« ruajtjes sĂ« lidhjeve shkaktojnĂ« ndotje tĂ« ndjeshme nĂ« repozitorĂ«t me njĂ« numĂ«r tĂ« madh lidhjesh pĂ«r shkak tĂ« vendosjes sĂ« njĂ« numri shumĂ« tĂ« madh tĂ« skedave nĂ« njĂ« katalog nĂ« rastin e ruajtjes sĂ« lidhjeve nĂ« katalogun $GIT_DIR/refs ose nevojĂ«s pĂ«r tĂ« ri-shkruar njĂ« skedĂ« tĂ« madhe tĂ« vetme me çdo pĂ«rditĂ«sim nĂ« rastin e ruajtjes sĂ« lidhjeve nĂ« skedĂ«n $GIT_DIR/packed_refs). NĂ« versionin e ri Ă«shtĂ« shtuar komanda 'git refs migrate --ref-format=reftable' pĂ«r tĂ« transferuar repozitorĂ«t ekzistues nĂ« backend-in 'reftable' (mĂ« parĂ« backend-i pĂ«rfshihej vetĂ«m gjatĂ« inicializimit tĂ« repozitorit).
- Ekipes git u shtua opsioni "--no-advice", i cili çaktivizon të gjitha mesazhet me rekomandime dhe sugjerime, gjë që mund të jetë e dobishme për të parandaluar mbushjen e logut me informacion të panevojshëm gjatë thirrjeve automatike të git.
- Procesi i përkthimit të disa kontrollëve nga grumbulli i testeve për në përdorimin e testeve unitare ka filluar, gjë që do ta thjeshtojë testimin e komponenteve të nivelit të ulët dhe do të rrisë efikasitetin e procesit të testimit në platformën Windows, ku shfaqen kosto të mëdha kur ekzekutohen shumë procese gjatë testimeve të realizuara si skedarë shell.
- Kodi për përpunimin e cilësimeve të ngjyrave i është shtuar mundësia e përdorimit të formatit "#RGB" përveç "#RRGGBB".
Burimi: opennet.ru
