Lëshimi i sistemit të menaxhimit të kodeve burimore Git 2.35

Pas dy muajsh zhvillimi, është publikuar lëshimi i sistemit të shpërndarë të menaxhimit të kodeve burimore Git 2.35. 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ëzim dhe bashkim. Për të siguruar integritetin e historisë dhe qëndrueshmërinë ndaj ndryshimeve 'pas datës', përdoren hashing-un e fshehtë të gjithë historisë për çdo commit; gjithashtu, është e mundur të verifikohet me firma digjitale firmat e veçanta të etiketimeve dhe commit-eve.

Në krahasim me lëshimin e kaluar, në versionin e ri janë pranuar 494 ndryshime, të përgatitura me pjesëmarrjen e 93 zhvilluesve, nga të cilët 35 janë pjesëmarrës për herë të parë. Novitetet kryesore janë:

  • Janë zgjeruar mundësitë për përdorimin e çelësave SSH për të firmosur objektet Git me firmë digjitale. Për të ndarë kohëzgjatjen e disa çelësave, është shtuar mbështetje për direktivat OpenSSH 'valid-before' dhe 'valid-after', të cilat sigurojnë funksionimin e duhur me firmat pas rotacioneve të çelësit të njërit prej zhvilluesve. Më parë, ekzistonte një problem me ndarjen e firmave me çelësin e vjetër dhe të ri — nëse hiqej çelësi i vjetër, nuk ishte e mundur të verifikohej firmat e bëra me të, dhe nëse mbetej — mbetej mundësia e krijimit të firmave të reja me çelësin e vjetër, për të cilin kishte ardhur një çelës i ri. Me ndihmën e 'valid-before' dhe 'valid-after', mund të ndahet fusha e veprimit të çelësave bazuar në kohën e krijimit të firmës.
  • Në konfigurimin 'merge.conflictStyle', i cili lejon të zgjidhet regjimi i paraqitjes së informacionit për konfliktet gjatë bashkimit, është shtuar mbështetje për regjimin 'zdiff3', i cili zhvendos përtej zonës së konfliktit të gjitha rreshtat e zakonshëm të specifikuar në fillim ose në fund të konfliktit, duke lejuar një paraqitje më kompakte të informacionit.
  • Ek equipa «git stash» është shtuar në modin «—staged», i cili lejon fshehjen e vetëm ndryshimeve të shtyra në indeks, për shembull në situatat kur është e nevojshme të vonohet përkohësisht një pjesë e ndryshimeve komplekse, në mënyrë që fillimisht të shtoni atë që është gati dhe të merrni me pjesën tjetër pas një kohe. Ky mod është i ngjashëm me komandën «git commit», e cila regjistron vetëm ndryshimet e vendosura në indeks, por në vend të krijimit të një komiti të ri në «git stash —staged», rezultati ruhet në një zonë të përkohshme stash. Pasi ndryshimet të jenë të nevojshme, ato mund të kthehen me komandën «git stash pop».
  • Ek komandës «git log» i është shtuar një specifikues formati të ri «—format=%(describe)», që lejon bashkimin e daljes së «git log» me rezultatin e ekzekutimit të komandës «git describe». Parametrat për «git describe» janë përcaktuar direkt brenda specifikuesit («—format=%(describe:match=,exclude=)»), ku gjithashtu mund të përfshihen etiketa të shkurtuara («—format=%(describe:tags=)») dhe të konfigurohet numri i simboleve në hexadecimal për identifikimin e objekteve («—format=%(describe:abbrev=)»). Për shembull, për të shfaqur 8 komitetet e fundit, etiketat e të cilëve nuk kanë etiketën e kandidatëve për lëshim dhe për të specifikuar identifikues të 8 karaktereve, mund të përdorni komandën: $ git log -8 —format='%(describe:exclude=*-rc*,abbrev=13)' v2.34.1-646-gaf4e5f569bc89 v2.34.1-644-g0330edb239c24 v2.33.1-641-g15f002812f858 v2.34.1-643-g2b95d94b056ab v2.34.1-642-gb56bd95bbc8f7 v2.34.1-203-gffb9f2980902d v2.34.1-640-gdf3c41adeb212 v2.34.1-639-g36b65715a4132
  • Në konfigurimin user.signingKey është realizuar mbështetje për lloje të reja çelësash, të cilat nuk kufizohen vetëm në llojin «ssh-» dhe specifikimin e rrugës së plotë të skedarit për çelësin. Llojet alternative caktohen me ndihmën e prefiksit «key::», për shembull, «key::ecdsa-sha2-nistp256» për çelësat ECDSA.
  • Ka një rritje të dukshme të shpejtësisë në gjenerimin e listës së ndryshimeve në modin «—histogram», si dhe kur përdoret opsioni «—color-moved-ws», që menaxhon ndriçimin e hapësirave në diff-in me ngjyra.
  • Në komandën «git jump», e cila përdoret për t'i ofruar Vim informacionin mbi kalimet e sakta në pozitat e kërkuara në skedar gjatë zgjidhjes së konflikteve të bashkimit, shikimit të ndryshimeve ose kryerjes së operacioneve të kërkimit, është ofruar mundësia e kufizimit të konflikteve të bashkimit. Për shembull, për të limituar operacionet vetëm në katalogun «foo», mund të specifikoni «git jump merge — foo», dhe për të përjashtuar përpunimin e katalogut «Documentation» — «git jump merge — ‘:^Documentation'».
  • Është kryer një punë për standardizimin e përdorimit të llojit «size_t» në vend të «unsigned long» për vlerat që përfaqësojnë madhësinë e objekteve, duke mundësuar përdorimin e filtrave «clean» dhe «smudge» me skedarë më të mëdhenj se 4 GB në të gjitha platformat, duke përfshirë platformat me modelin e të dhënave LLP64, ku lloji «unsigned long» është i kufizuar në 4 byte.
  • Është shtuar opsioni «--empty=(stop|drop|keep)» në komandën «git am», i cili lejon zgjedhjen e sjelljes për emaile boshe gjatë analizës së patches nga kutia postare. Vlera «stop» do të ndalë gjithë operacionin e aplikimit të patches, «drop» do të kalojë patch-in bosh, «keep» do të krijojë një commit bosh.
  • Në komandat «git reset», «git diff», «git blame», «git fetch», «git pull» dhe «git ls-files» është shtuar mbështetje për indekset e pjesës (sparse index), të cilat përmirësojnë performancën dhe kursejnë hapësirë në repozitorët që kryejnë operacione të klonimit të pjesshëm (sparse-checkout).
  • Komanda «git sparse-checkout init» është shpallur e vjetruar, dhe në vend të saj duhet të përdoret «git sparse-checkout set».
  • Është shtuar një implementim fillestar i backend-it të ri «reftable» për ruajtjen e lidhjeve, siç janë degët dhe etiketat, në repozitor. Backend-i i ri përdor magazinimin e bllokëve, të aplikuar nga projekti JGit dhe është optimizuar për ruajtjen e një numri shumë të madh të lidhjeve. Backend-i ende nuk është integruar me sistemin e lidhjeve (refs) dhe nuk është gati për përdorim praktik.
  • Paleta e ngjyrave të komandës «git grep» është përshtatur me utilitarin GNU grep.

Burimi: opennet.ru

Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS 🔥 Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS - ProHoster