Git 2.36 avota kontroles sistēmas izlaiÅ”ana

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ē.
    Git 2.36 avota kontroles sistēmas izlaiÅ”ana

    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.

    Git 2.36 avota kontroles sistēmas izlaiÅ”ana

  • 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

Pievieno komentāru