Izdanje sustava za upravljanje izvorom Git 2.38

Predstavljen je novi izdanak distribuiranog sustava za upravljanje izvornih tekstova Git 2.38. Git je jedan od najpopularnijih, najpouzdanijih i najproduktivnijih sustava za upravljanje verzijama, koji pruža fleksibilna sredstva za nelinearni razvoj temeljen na grananju i spajanju grana. Kako bi se osigurala cjelovitost povijesti i otpornost na 'retroaktivne' promjene, koristi se implicitno heširanje cijele prethodne povijesti u svakom commit-u, a također je moguće ovjeriti digitalnim potpisima programa pojedinih tagova i commit-a.

U usporedbi s prošlim izdanjem, nova verzija sadrži 699 promjena, koje su pripremljene uz sudjelovanje 92 programera, od kojih je 24 prvi put sudjelovalo u razvoju. Glavne novine su:

  • U glavni sastav uključena je alatka 'scalar', koju je razvila tvrtka Microsoft za upravljanje velikim repozitorijima. Alatka je prvotno napisana na jeziku C#, ali je u git uključena prerađena verzija na jeziku C. Nova alatka se razlikuje od naredbe git uključivanjem dodatnih mogućnosti i postavki prema zadanim postavkama, koje utječu na performanse kada se radi s vrlo velikim repozitorijima. Na primjer, pri korištenju scalar-a primjenjuje se:
    • Djelomično kloniranje za rad s nepotpunom kopijom repozitorija.
    • Ugrađeni mehanizam za praćenje promjena u datotečnom sustavu (FSMonitor), koji omogućava izbjegavanje pretraživanja cijelog radnog direktorija.
    • Indeksi koji obuhvaćaju objekte u različitim pack-datotekama (multi-pack).
    • Datoteke commit-grafa s indeksom grafa commit-a, koje se primjenjuju za optimizaciju pristupa informacijama o commit-ima.
    • Pozadinski periodični zadaci za održavanje optimalne strukture repozitorija u pozadini, bez blokiranja interaktivne sesije (svakih sat vremena izvodi se zadatak za proaktivno učitavanje svježih objekata iz udaljenog repozitorija i ažuriranje datoteke s grafom commit-a, dok se svake noći pokreće proces pakiranja repozitorija).
    • Modus 'sparseCheckoutCone', koji ograničava dopuštene uzorke prilikom djelomičnog kloniranja.
  • Naredbi 'git rebase' dodana je opcija '--update-refs' za ažuriranje ovisnih grana koje se sijeku s premještenim granama, kako bi se ručno izbjeglo izvođenje checkout operacija za svaku ovisnu granu za prebacivanje na željeni commit.
  • Osigurana je kompatibilnost naredbe «git rm» s djelomičnim indeksima.
  • Poboljšano je ponašanje naredbe «git mv A B» prilikom premještanja datoteke iz radnog prostora s djelomičnim indeksima u režimu «cone» u vanjski prostor za koji ovaj režim ne vrijedi.
  • Optimiziran je format bitmap datoteka za rad s velikim repozitorijima — dodana je opcionalna indeksna tablica sa popisom odabranih commitova i njihovim pomacima.
  • U naredbi «git merge-tree» uveden je novi način rada u kojem se na temelju dvaju navedenih commitova izračunava stablo s rezultatom spajanja, kao da su povijesti tih commitova spojene.
  • Dodana je postavka «safe.barerepository» za upravljanje mogućnošću smještanja bare repozitorija (repozitoriji bez radnog područja) unutar drugih git repozitorija. Kada se postavi na «explicit», rad s bare repozitorijima bit će dopušten samo u gornjem direktoriju. Da bi se omogućilo smještanje bare repozitorija u poddirektorije, potrebno je koristiti vrijednost «all».
  • U naredbu «git grep» dodana je opcija «-m» («—max-count»), koja je slična istoimenoj opciji u GNU grepu i omogućava ograničavanje broja prikazanih podudaranja.
  • U naredbi «ls-files» implementirana je opcija «—format» za prilagodbu prikazanih polja (na primjer, može se uključiti prikaz imena objekta, modova itd.).
  • U «git cat-file» prilikom prikazivanja sadržaja objekata omogućeno je uzimanje u obzir poveznica autora s emailom, navedenim u datoteci mailmap.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster