Vydanie systému na správu verzí Git 2.46

Po troch mesiacoch vývoja bol zverejnený nový release distribuovaného systému správy zdrojových kódov Git 2.46. Git je jedným z najpopulárnejších, najspoľahlivejších a vysoko výkonných systémov na správu verzií, poskytujúcim flexibilné nástroje pre nelineárny vývoj, založené na vetvení a zlúčení vetiev. Na zabezpečenie integrity histórie a odolnosti voči „spätným“ zmenám sa využíva implicitné hashovanie celej predchádzajúcej histórie v každom commite; tiež je možné overenie digitálnymi podpisami vývojárov pre jednotlivé tagy a commit. Kód Git je šírený pod licenciou GPLv2+.

V porovnaní s predchádzajúcim vydaním bolo do novej verzie prijatých 746 zmien, ktoré pripravilo 96 vývojárov, z ktorých 31 sa zúčastňuje na vývoji po prvýkrát. Hlavné novinky:

  • Pridaná experimentálna podpora nového druhu bitových máp – „pseudo-merge reachability bitmap“, kde na rozdiel od štruktúry „reachability bitmap“ sú dáta o skupinách objektov, ktoré súvisia s commitmi, uložené nie v spojení s každým jednotlivým commitom, ale v spojení s viacerými commitmi naraz. Takáto organizácia umožňuje použiť jednu bitovú mapu pri určovaní objektov pre commity v rôznych vetvách, čo v veľkých repozitároch umožňuje obísť vytváranie veľkého množstva jednotlivých bitových máp a výrazne urýchliť prehľad objektov na určenie, ktoré objekty je potrebné poslať klientovi pri vykonávaní takých operácií, ako sú „git fetch“, „git rev-list“ a „git clone“. Na aktiváciu nového typu bitových máp a určenie logiky ich voľby a použitia bola navrhnutá séria nastavení „bitmapPseudoMerge“: git config bitmapPseudoMerge.all.pattern ‘refs/(heads|tags)/’ git config bitmapPseudoMerge.all.threshold now git config bitmapPseudoMerge.all.stableThreshold never git repack -adb
  • Bol zavedené nové rozhranie príkazového riadku pre príkaz „git config“, ktoré namiesto rozptýlených možností na prezeranie, premenovanie a odstraňovanie nastavení a sekcií, ako sú „—get“, „—get-all“, „—unset“ a „—remove-section“, ponúka súbor samostatných subpríkazov. Napríklad, na zobrazenie všetkých nastavení repozitára teraz môžete použiť príkaz „git config list“, a na zobrazenie obsahu konkrétneho parametra — príkaz „git config get “. Pre ďalšie filtrovanie výsledkov pomocou možnosti „—regexp“ môžete zadať filter na základe regulárneho výrazu.
  • Do protokolu „credential helper“, ktorý sa používa na prenos prihlasovacích údajov pri prístupe k repozitárom s obmedzeným prístupom, bola pridaná podpora nových polí „authtype“ a „credential“, ktoré umožňujú vytvárať spracovateľov pre systémy HTTP autentizácie, ktoré neobmedzujú len na kontrolu prihlásenia a hesla, napríklad pri použití Bearer Token v OAuth 2.0. Predtým bolo potrebné pre prácu s takýmito systémami autentizácie uvádzať dôverné údaje v otvorenej forme v parametri http.extraHeader. Navyše, do protokolu bola pridaná možnosť ukladania stavu každého spracovateľa prihlasovacích údajov na podporu viacfázových metód autentizácie, ktoré sa používajú v takých protokoloch ako NTLM a Kerberos.
  • Pokračovalo sa vo vývoji experimentálneho backendu „reftable“ na efektívne ukladanie odkazov na vetvy a značky v repozitári. Tento backend využíva blokové úložisko, ktoré používa projekt JGit a je optimalizované na ukladanie veľmi veľkého počtu odkazov (tradičné formáty ukladania odkazov vedú v repozitároch s veľkým počtom odkazov k významným nákladovým výdavkom v dôsledku umiestnenia veľmi veľkého počtu súborov v jednom adresári v prípade ukladania odkazov v adresári $GIT_DIR/refs alebo potreby prepísať jeden veľký súbor pri každom aktualizovaní v prípade ukladania odkazov v súbore $GIT_DIR/packed_refs). V novej verzii bola pridaná príkaz „git refs migrate —ref-format=reftable“ na prevod existujúcich repozitárov na backend „reftable“ (predtým sa backend zapínal iba pri inicializácii repozitára).
  • Do tímu git bola pridaná možnosť „—no-advice“, ktorá vypína všetky správy s odporúčaniami a tipmi, čo môže byť užitočné na zabránenie zahlcovania logu zbytočnými informáciami pri automatizovanom volaní git.
  • Začal sa proces prevodu niektorých kontrol z testovacieho súboru na použitie jednotkových testov, čo zjednoduší testovanie nízkoúrovňových komponentov a zvýši efektivitu testovacieho procesu na platforme Windows, kde vznikajú veľké náklady pri spúšťaní veľkého množstva procesov počas vykonávania testov, realizovaných vo forme shell skriptov.
  • Do kódu pre spracovanie nastavení farieb bola pridaná možnosť používať formát „#RGB“ okrem „#RRGGBB“.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster