PÄc trÄ«s mÄneÅ”u izstrÄdes ir izlaista izplatÄ«tÄ avota kontroles sistÄma Git 2.36. Git ir viena no populÄrÄkajÄm, uzticamÄkajÄm un augstas veiktspÄjas versiju kontroles sistÄmÄm, kas nodroÅ”ina elastÄ«gus nelineÄrus izstrÄdes rÄ«kus, kuru pamatÄ ir sazaroÅ”ana un apvienoÅ”ana. Lai nodroÅ”inÄtu vÄstures integritÄti un noturÄ«bu pret retroaktÄ«vÄm izmaiÅÄm, katrÄ saistÄ«bÄ tiek izmantota visas iepriekÅ”ÄjÄs vÄstures netieÅ”a jaukÅ”ana, kÄ arÄ« ir iespÄjams sertificÄt atseviŔķus tagus un saistÄ«bas ar izstrÄdÄtÄju digitÄlajiem parakstiem.
SalÄ«dzinot ar iepriekÅ”Äjo versiju, jaunajÄ versijÄ tika pieÅemtas 717 izmaiÅas, kas sagatavotas, piedaloties 96 izstrÄdÄtÄjiem, no kurÄm 26 izstrÄdÄ piedalÄ«jÄs pirmo reizi. Galvenie jauninÄjumi:
- KomandÄm āgit logā un āgit showā tagad ir opcija āāremerge-diffā, kas ļauj parÄdÄ«t atŔķirÄ«bas starp kopÄjo sapludinÄÅ”anas rezultÄtu un faktiskajiem datiem, kas atspoguļoti apÅemÅ”anÄ pÄc komandas āmergeā apstrÄdes. , kas ļauj skaidri izvÄrtÄt apvienoÅ”anÄs konfliktu risinÄÅ”anas rezultÄtÄ veiktÄs izmaiÅas. ParastÄ komanda āgit showā iedala dažÄdu konfliktu risinÄjumu atkÄpi, padarot izmaiÅas grÅ«ti saprotamas. PiemÄram, ekrÄnuzÅÄmumÄ zem lÄ«nijas ā+/-ā bez atkÄpes parÄda pÄdÄjo konflikta atrisinÄjumu, kas saistÄ«ts ar sha1 pÄrdÄvÄÅ”anu uz oid komentÄrÄ pirmajÄ zarÄ, un ā+/-ā ar atkÄpi parÄda sÄkotnÄjo konflikta atrisinÄÅ”ana, ko izraisa papildu argumenta parÄdÄ«Å”anÄs funkcijas dwim_ref() otrajÄ filiÄlÄ.
Izmantojot opciju "--remerge-diff", konfliktu atrisinÄÅ”anas atŔķirÄ«bas netiek atdalÄ«tas katrai vecÄkzarai, bet tiek parÄdÄ«tas kopÄjÄs atŔķirÄ«bas starp failu, kurÄ ir sapludinÄÅ”anas konflikti, un failu, kurÄ konflikti ir atrisinÄti.
- PalielinÄta elastÄ«ba, konfigurÄjot diska keÅ”atmiÅas izskaloÅ”anas darbÄ«bu, izsaucot fsync() funkciju. IepriekÅ” pieejamais parametrs core.fsyncObjectFiles ir sadalÄ«ts divos konfigurÄcijas mainÄ«gajos core.fsync un core.fsyncMethod, nodroÅ”inot iespÄju lietot fsync ne tikai objektu failiem (.git/objects), bet arÄ« citÄm git struktÅ«rÄm, piemÄram, saitÄm ( .git /refs), pÄrreÄ£istrÄt un pakotnes failus.
Izmantojot mainÄ«go core.fsync, varat norÄdÄ«t iekÅ”Äjo Git struktÅ«ru sarakstu, kurÄm pÄc rakstÄ«Å”anas operÄcijas papildus tiks izsaukts fsync. MainÄ«gais core.fsyncMethod ļauj atlasÄ«t metodi keÅ”atmiÅas izskaloÅ”anai, piemÄram, varat atlasÄ«t fsync, lai izmantotu tÄda paÅ”a nosaukuma sistÄmas izsaukumu, vai norÄdÄ«t tikai rakstÄ«Å”anu, lai izmantotu lapas keÅ”atmiÅas ierakstÄ«Å”anu.
- Lai aizsargÄtu pret ievainojamÄ«bu, kas manipulÄ ar citu lietotÄju .git direktoriju aizstÄÅ”anu koplietotÄs sadaļÄs, ir pastiprinÄta repozitorija Ä«paÅ”nieka pÄrbaude. Jebkuru git komandu izpilde tagad ir atļauta tikai to ".git" direktorijÄs. Ja direktorijs ar repozitoriju pieder citam lietotÄjam, pÄc noklusÄjuma tiks parÄdÄ«ta kļūda. Å o darbÄ«bu var atspÄjot, izmantojot iestatÄ«jumu safe.directory.
- Komanda āgit cat-fileā, kas paredzÄta Git objektu avota satura izvadÄ«Å”anai, papildinÄta ar opciju ā--batch-commandā, kas papildina iepriekÅ” pieejamos ā--batchā un ā--batch-checkā. ā komandas ar iespÄju adaptÄ«vi atlasÄ«t izvades veidu, izmantojot ā contents <object>ā, lai parÄdÄ«tu saturu vai āinfo <object>ā, lai parÄdÄ«tu informÄciju par objektu. TurklÄt tiek atbalstÄ«ta komanda "flush", lai izskalotu izvades buferi.
- Komandai āgit ls-treeā, kas paredzÄta objektu koka satura saraksta Ä£enerÄÅ”anai, ir pievienota opcija ā-oid-onlyā (ā-object-onlyā), lÄ«dzÄ«gi kÄ ā-name-onlyā. ā, tiek parÄdÄ«ti tikai objektu identifikatori, lai vienkÄrÅ”otu izsaukumu no skriptiem. Ir ieviesta arÄ« opcija ā--formatā, kas ļauj definÄt savu izvades formÄtu, apvienojot informÄciju par režīmu, veidu, nosaukumu un izmÄru.
- Komanda āgit bisect runā ievieÅ” skripta izpildÄmÄ faila karoga nenoteikÅ”anu un Å”ajÄ gadÄ«jumÄ tiek parÄdÄ«tas kļūdas ar kodiem 126 vai 127 (iepriekÅ”, ja skriptu nevarÄja palaist, visas versijas tika atzÄ«mÄtas kÄ problÄmas). .
- Komandai "git fetch" tika pievienota opcija --refetch, lai iegÅ«tu visus objektus, neinformÄjot otru pusi par saturu, kas jau atrodas vietÄjÄ sistÄmÄ. Å Ä« darbÄ«ba var bÅ«t noderÄ«ga, lai atgÅ«tu no kļūmÄm, ja nav skaidra vietÄjo datu integritÄte.
- Komandas "git update-index", "git checkout-index", "git read-tree" un "git clean" tagad atbalsta daļÄjus indeksus, lai uzlabotu veiktspÄju un ietaupÄ«tu vietu krÄtuvÄs, kas veic daļÄjas indeksa darbÄ«bas. klonÄÅ”ana (sparse-checkout ).
- Ir mainÄ«ta komandas āgit clone āfilter=ā¦ ārecurse-submodulesā uzvedÄ«ba, kas tagad noved pie daļÄjas apakÅ”moduļu klonÄÅ”anas (iepriekÅ”, izpildot Å”Ädas komandas, filtrs tika piemÄrots tikai galvenajam saturam, un apakÅ”moduļi pilnÄ«bÄ klonÄti, neÅemot vÄrÄ filtru).
- Komandai "git bundle" ir pievienots atbalsts filtru norÄdÄ«Å”anai satura selektÄ«vai izvietoÅ”anai, lÄ«dzÄ«gi kÄ daļÄjai klonÄÅ”anas darbÄ«bai.
- Komandai "git branch" ir pievienota opcija "--recurse-submodules", lai rekursÄ«vi ŔķÄrsotu apakÅ”moduļus.
- Userdiff piedÄvÄ jaunu apdarinÄtÄju Kotlin valodai.
Avots: opennet.ru