Vydání systému správy zdrojového kódu Git 2.50

Bylo zveřejněno vydání distribuovaného systému správy zdrojového kódu Git 2.50. Git se vyznačuje vysokým výkonem a poskytuje nástroje pro nelineární vývoj založené na větvení a sloučení větví. Pro zajištění integrity historie a odolnosti vůči změnám „zpětně“ se používá implicitní hashování celé předchozí historie v každém commitu a také ověření digitálními podpisy vývojářů jednotlivých tagů a commitů. Kód Git je distribuován pod licencí GPLv2+.

Ve srovnání s předchozím vydáním bylo do nové verze zahrnuto 621 změn, které připravilo 98 vývojářů, z nichž 35 se podílí na vývoji poprvé. Hlavní novinky:

  • Byla rozšířena možnost dělení na několik pack-souborů databáze nedostupných objektů („cruft packs“), na které v repozitáři neexistují odkazy (na které se nevztahují větve nebo tagy). Použití několika malých pack-souborů místo jednoho velkého může výrazně zkrátit vstupní/výstupní operace při přeupakování repozitářů s velkým počtem nedostupných objektů, protože pro každou operaci přeupakování není potřeba přepisovat všechna data.

    V nové verzi byla navržena volba „—combine-cruft-below-size“, pomocí které lze organizovat sloučení existujících pack-souborů, jejichž velikost nepřesahuje zadanou hodnotu. Na rozdíl od dříve dostupné volby „—max-cruft-size“ nová volba „—combine-cruft-below-size“ neomezuje maximální velikost výsledného pack-souboru, což umožňuje efektivněji slučovat pack-soubory v repozitářích s velkým počtem nedostupných objektů, rozložených do několika pack-souborů.

  • Byla přidána experimentální podpora inkrementálního aktualizování vícepackových indexů MIDX (multi-pack index), při kterém každá vrstva MIDX-indexu s informacemi o dostupnosti objektů je umístěna v samostatném bitmapovém souboru. V velmi velkých repozitářích implementovaný typ indexů umožňuje rychle a efektivně přidávat nové bitmapy dostupnosti objektů, jakmile přicházejí nové commity.
  • Ze zdrojového kódu byl odstraněn starý engine pro provádění sloučení „recursive“, který nahradil zcela přepracovaný engine „ORT“ (Ostensibly Recursive’s Twin), výkonnější, funkčnější a snáze udržovatelný. ORT umožňuje ověřit možnost sloučení dvou objektů, aniž by při tom vytvářel nové objekty v repozitáři (při starém enginu bylo třeba provést příkaz „git merge-tree —write-tree“, který zapisoval nové objekty do repozitáře). V Git 2.50 byla do příkazu merge-tree přidána volba „—quiet“, díky které lze ověřit možnost sloučení na základě návratového kódu bez zápisu dat do repozitáře.
  • Do příkazů „git cat-file —batch“ a podobných byla přidána volba „—filter“, která umožňuje přeskočit některé objekty během provádění operace. git cat-file —batch-check=’%(objectname)’ —filter=’object:type=tree’
  • Do příkazu „git maintenance“ byla implementována tři nová opatření: worktree-prune, rerere-gc a reflog-expire. Opatření worktree-prune slouží k odstranění zastaralých nebo poškozených pracovních stromů (worktrees) v repozitáři. Opatření rerere-gc odstraňuje staré záznamy, které zůstaly po odstranění konfliktů sloučení. Opatření reflog-expire odstraní zastaralé, nedostupné objekty z reflogu.
  • Byl přidán příkaz „git reflog drop“, který odstraňuje veškerá data reflogu pro zadanou větev.
  • Byla optimalizována manipulace a používání odkazů, například bylo implementováno caching prefixů odkazů, byly odstraněny nadbytečné kontroly při provádění příkazu „git update-ref“, což zvyšuje efektivitu vyhledávání existujících iterátorů odkazů.
  • Pro knihovnu cURL byly přidány nastavení KeepAlive: http.keepAliveIdle, http.keepAliveInterval a http.keepAliveCount.
  • Do příkazu „git rev-list“ byla implementována možnost výstupu ve formátu vhodném pro strojové zpracování, při kterém je každé pole odděleno znakem NUL.
  • Jazyk Perl byl vyloučen ze závislostí potřebných pro nástroje pro práci s dokumentací a provádění testovacího souboru („make test“). Mnoho Perl jednorázových skriptů v testech bylo nahrazeno shellovými funkcemi nebo přepsáno do jazyka C.
  • Byl přidán userdiff-handler pro formát konfiguračních souborů „.ini“.
  • V příkazu send-email bylo vylepšeno podporování SMTP serveru Outlook.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster