Vydání ovládání zdroje Git 2.38

Bylo oznámeno vydání distribuovaného systému řízení zdrojů Git 2.38. Git je jedním z nejpopulárnějších, spolehlivých a vysoce výkonných systémů pro správu verzí, který poskytuje flexibilní nelineární vývojové nástroje založené na větvení a slučování. Pro zajištění integrity historie a odolnosti vůči retroaktivním změnám je v každém commitu použito implicitní hashování celé předchozí historie, je také možné certifikovat jednotlivé tagy a commity digitálními podpisy vývojářů.

Oproti předchozí verzi obsahovala nová verze 699 změn, připravených za účasti 92 vývojářů, z nichž 24 se podílelo na vývoji poprvé. Hlavní inovace:

  • Hlavní struktura zahrnuje „skalární“ nástroj vyvinutý společností Microsoft pro správu velkých úložišť. Nástroj byl původně napsán v C#, ale git obsahuje upravenou verzi v C. Nový nástroj se liší od příkazu git tím, že ve výchozím nastavení povoluje další funkce a nastavení, která ovlivňují výkon při práci s velmi velkými repozitáři. Například při použití skaláru platí:
    • Částečné klonování pro práci s neúplnou kopií úložiště.
    • Vestavěný mechanismus pro sledování změn v souborovém systému (FSMonitor), který vám umožní obejít se bez prohledávání celého pracovního adresáře.
    • Indexy pokrývající objekty v různých souborech pack (multi-pack).
    • soubory s grafem odevzdání s indexem grafu odevzdání používané k optimalizaci přístupu k informacím odevzdání.
    • Pravidelná práce na pozadí pro udržení optimální struktury úložiště na pozadí, bez blokování interaktivní relace (práce se provádí jednou za hodinu na proaktivním stahování nových objektů ze vzdáleného úložiště a aktualizaci souboru pomocí grafu odevzdání a procesu balení úložiště se spouští každou noc).
    • režim „sparseCheckoutCone“, který omezuje povolené vzory při částečném klonování.
  • Do příkazu "git rebase" byla přidána volba --update-refs pro aktualizaci závislých větví, které se překrývají s přesouvanými větvemi, místo toho, aby bylo nutné ručně kontrolovat každou závislou větev, aby se přepnulo na požadované potvrzení.
  • Udělal příkaz "git rm" kompatibilní s částečnými indexy.
  • Vylepšeno chování příkazu "git mv AB" při přesouvání souboru z pracovního prostoru s částečnými indexy v režimu "cone" do externího oboru, který tento režim nemá.
  • Formát bitmapového souboru byl optimalizován pro práci s velkými repozitáři – byla přidána volitelná indexová tabulka se seznamem vybraných commitů a jejich offsetů.
  • Příkaz „git merge-tree“ implementuje nový režim, ve kterém se na základě dvou specifikovaných odevzdání vypočítá strom s výsledkem sloučení, jako by byly sloučeny historie těchto odevzdání.
  • Přidáno nastavení "safe.barerepository" pro ovládání schopnosti hostovat holá úložiště (úložiště, která neobsahují pracovní strom) v jiných git repozitářích. Při nastavení na „explicitní“ bude možné pracovat s holými repozitáři umístěnými pouze v horním adresáři. Abyste mohli umístit holá úložiště do podadresářů, použijte hodnotu „all“.
  • Příkaz „git grep“ přidal volbu „-m“ („—max-count“), která je podobná stejnojmenné volbě v GNU grep a umožňuje omezit počet zobrazených shod.
  • Příkaz „ls-files“ implementuje volbu „--format“ pro konfiguraci výstupních polí (můžete například povolit výstup názvu objektu, režimů atd.).
  • V „git cat-file“ je možné při zobrazování obsahu objektů vzít v úvahu vazby autor-e-mail zadané v souboru mailmap.

Zdroj: opennet.ru

Přidat komentář