Pas tre muajsh zhvillimi, është publikuar dalja e sistemit të shpërndarë të menaxhimit të kodit burimor Git 2.32. 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 liniar, të bazuara në degëzim dhe bashkim të degëve. Për të siguruar integritetin e historisë dhe qëndrueshmërinë ndaj ndryshimeve "me pas", përdoret një hashim implicit i gjithë historisë së mëparshme në çdo komit, si dhe është e mundur të verifikohet me nënshkrime digjitale të zhvilluesve për etiketat dhe komitetet e veçanta.
Në krahasim me daljen e kaluar, në versionin e ri janë pranuar 617 ndryshime të përgatitura me pjesëmarrjen e 100 zhvilluesve, nga të cilët 35 morën pjesë për herë të parë në zhvillim. Inovacionet kryesore:
- NĂ« komandĂ«n "git commit" Ă«shtĂ« shtuar opsioni "âtrailer [=]", i cili lejon thjeshtimin e bashkĂ«ngjitjes sĂ« informacionit tĂ« strukturuar (trailer) me formatin çelĂ«s/vlerĂ« nĂ« komit, i cili mund tĂ« pĂ«rpunojĂ« pastaj me komandĂ«n "interpret-trailers."
- Në vend të mekanizmit GIT_CONFIG_NOSYSTEM, i cili përdoret për të parandaluar leximin nga skedari i konfigurimit të përbashkët për të gjithë sistemin, është propozuar përdorimi i mekanizmit GIT_CONFIG_SYSTEM, i cili lejon përcaktimin e qartë se nga cili skedar duhet të ngarkohet konfigurimi sistemor, si dhe parametri GIT_CONFIG_GLOBAL për të anuluar konfigurimet e lidhura me përdoruesit e veçantë në $HOME/.gitconfig. Caktimi i variablës GIT_CONFIG_SYSTEM në vlerë të zbrazët ndryshon sjelljen në një ekvivalent të GIT_CONFIG_NOSYSTEM.
- Dhe kur përdoret versioni i dytë i protokollit të komunikimit Git, kur kryhet "git push", është realizuar identificimi i paraardhësit të përbashkët në anën pritëse, duke lejuar që efikasiteti i "git push" të arrijë nivelin e "git fetch" dhe të përjashtojë ngarkimin e objekteve që nuk janë të nevojshme.
- ĂshtĂ« shtuar njĂ« ndĂ«rfaqe e thjeshtĂ« IPC qĂ« lejon krijimin e shĂ«rbimeve, si fsmonitor.
- Përpunimi i skedareve ".gitattributes", ".gitignore" dhe ".mailmap" është ndërprerë nëse ato janë lidhje simbolike.
- Për transportin HTTP është shtuar mbështetje për ruajtjen e fjalëkalimeve, të cilat janë përdorur me sukses për të zhbllokuar certifikatën.
- Në komandën "git stash show" është realizuar mundësia e shfaqjes së pjesës jo të ndjekur të depozita të skedarëve të hequr përkohësisht.
- Një strategji më e avancuar për ripakuar repozitorin është propozuar nga ekipi 'git repack', duke reduktuar konsumimin e burimeve gjatë ripakimit.
- NĂ« komandĂ«n 'git commit' Ă«shtĂ« implementuar njĂ« variant i zgjeruar i opsionit '--fixup' (krijimi i njĂ« komiti pĂ«r 'rebase --autosquash') â '--fixup=(reword|amend):', qĂ« ofron zgjedhjen: tĂ« ndryshoj vetĂ«m mesazhin nĂ« regjistĂ«r ose mesazhin dhe pĂ«rmbajtjen.
- Në komandën 'git send-email' është marrë parasysh vendosja e konfigurimit core.hooksPath.
- Në 'git format-patch -v' është lejuar përdorimi i numrave regjistrues, që nuk janë të plota.
- Në 'git clone' është shtuar opsioni '--reject-shallow', duke ndaluar klonimin nga repozitorë në modin shallow (pa histori të plotë të ndryshimeve).
- Në programin 'gitweb' është shtuar një mod i fshehjes së emailit, që zëvendëson rreshtat e ngjashëm me email gjatë daljes.
- Logjika e trajtimit të komandës 'git apply --3way' është ndryshuar, e cila tani përpara provon të aplikohet algoritmi i bashkimit të tre anëve dhe vetëm në rast të dështimit ose një konflikti kthehet në aplikimin normal të patch-it (më parë ishte e kundërta).
- Në komandën 'git apply' është lejuar përcaktimi i opsioneve '--3way' dhe '--cached' në të njëjtën kohë.
- Në Userdiff janë shtuar modele për gjuhën 'Scheme'.
- Në komandën 'git log' është shtuar opsioni '--diff-merges=' dhe konfigurimi log.diffMerges për të zgjedhur modin e parazgjedhur.
- Në komandat 'git add' dhe 'git rm' është shtuar një mbrojtje shtesë nga ndryshimi i të dhënave në rrugët që janë jashtë zones së operacionit të klonimit të pjesshëm (sparse checkout).
- Në komandën 'git rev-list' është shtuar opsioni '--filter=object:type=' për të përjashtuar një tip të caktuar objektesh nga pack-file-i i gjeneruar nga komanda pack-objects.
- Në 'git pack-objects' është ndaluar caktimi i vlerave negative në opsionet që pranojnë vlera numerike, si '--window' dhe '--depth'.
Burimi: opennet.ru
