Išleista „Git 2.53“ – paskirstyto šaltinio kodo valdymo sistema. „Git“ pasižymi dideliu našumu ir teikia nelinijinio kūrimo galimybes, pagrįstas šakojimusi ir sujungimu. Siekiant užtikrinti istorinį vientisumą ir atsparumą atgaliniams pakeitimams, kiekviename commit'e naudojama netiesioginė visos ankstesnės istorijos maiša, taip pat atskirų žymų ir commit'ų skaitmeniniai parašai. „Git“ licencijuota pagal GPLv2+ licenciją.
Palyginti su ankstesne versija, naujojoje versijoje yra 466 pakeitimai, prie kurių prisidėjo 70 kūrėjų (21 iš jų buvo naujokas „Git“ kūrimo srityje). Svarbiausios naujos funkcijos:
- Pridėta galimybė taikyti „geometrinę“ saugyklų pakavimo strategiją („git repack --geometric“) iš dalies klonuotoms išorinėms saugykloms, veikiančioms „promisor“ režimu (trūkstami objektai atsisiunčiami pagal poreikį). Perpakuojant naudojant parinktį „--geometric“, pakavimo failai su plėtiniu „.promisor“ apdorojami ir pakuojami atskirai. „Geometrinė“ strategija sutrumpina didelių monosaugyklų priežiūros laiką, selektyviai perpakuojant objektus ir pašalinant nereikalingas išteklius reikalaujančias operacijas, pvz., visų pakavimo failų sujungimą (išsaugoma geometrinė pakavimo failų dydžių progresija, reikalaujanti, kad kiekvienas paskesnis pakavimo failas būtų bent dvigubai didesnis už ankstesnįjį).
- Komanda „git fast-import“ dabar turi parinktį „--signed-commits=strip-if-invalid“, skirtą skaitmeniniams parašams pašalinti iš importuotų objektų, kurie tapo negaliojantys perrašius dalį saugyklos istorijos. Anksčiau buvo galima importuoti arba pašalinti visus parašus, neskiriant galiojančių ir negaliojančių. Parinktis „strip-if-invalid“ leidžia įdiegti įrankius, skirtus išsaugoti galiojančius parašus ir iš naujo pasirašyti objektus su pasibaigusio galiojimo parašais.
- Komandos „git repo structure“ išvestis dabar rodo visų pasiekiamų objektų saugykloje dydį, suskirstytą pagal tipą. Informacija dabar rodoma žmonėms skaitoma forma su matavimo vienetais ir rodoma atskirai faktiniam dydžiui ir užimamam diske dydžiui, o tai leidžia įvertinti bendrą saugyklos dydį diske. $ git repo structure | Saugyklos struktūra | Reikšmė | | ——————— | ———- | | * Nuorodos | | | * Skaičius | 1.78 tūkst. | | * Šakos | 5 | | * Žymės | 1.03 tūkst. | | * Nuotoliniai įrenginiai | 749 | | * Kiti | 0 | | | | | * Pasiekiami objektai | | | * Skaičius | 421.37 tūkst. | | * Įrašai | 88.03 tūkst. | | * Medžiai | 169.95 tūkst. | | * Blobai | 162.40 tūkst. | | * Žymės | 994 | | * Padidintas dydis | 7.61 GiB | | * Įrašai | 60.95 MiB | | * Medžiai | 2.44 GiB | | * Blobai | 5.11 GiB | | * Žymės | 731.73 KiB | | * Disko dydis | 301.50 MiB | | * Įrašai | 33.57 MiB | | * Medžiai | 77.92 MiB | | * Blobai | 189.44 MiB | | * Žymės | 578.13 KiB |
- Komanda „git maintenance“ dabar turi papildomą komandą „is-needed“, skirtą saugyklos priežiūros operacijoms atlikti tik tada, kai to reikia.
- Eksperimentinė komanda „git replay“ dabar pagal numatytuosius nustatymus atnaujina nuorodas operacijoje, užuot rodiusi, kur nuorodos turėtų būti nukreiptos neatnaujinant.
- Komanda „git blame“ dabar leidžia pasirinkti skirtumų įvertinimo algoritmą naudojant parametrą „--diff-algorithm=". ".
- Parinktis „--all“ buvo pridėta prie komandos „git repo info“.
- Iš „Git-for-“Windows Simbolinių nuorodų palaikymas perkeltas į platformą Windows.
Ankstesnėje laidoje buvo įspėjimas apie numatytąjį „Rust“ komponentų kūrimo įjungimą „Git 2.53“. Tačiau „Git 2.53“ pridėjo tik keletą patobulinimų „Rust“ palaikymui (pvz., galimybę kompiliuoti nenaudojant „GNU sed“). Vis dėlto, „Rust“ kūrimas vis dar yra išjungtas pagal numatytuosius nustatymus naudojant „Makefile“ (reikalingas WITH_RUST žymėjimas), ir automatiškai įjungiamas naudojant „Meson“, jei yra „rustc“ kompiliatorius. „Git 3.0“ ketina įtraukti „Rust“ įrankius kaip privalomą kompiliavimo priklausomybę.
Šaltinis: opennet.ru
