Úložiště ve systémech pro správu verzí je datová struktura, která uchovává metadata pro sadu souborů nebo strukturu adresářů. [1] V závislosti na tom, zda je použitý systém pro správu verzí distribuovaný, jako Git nebo Mercurial, nebo centralizovaný, jako Subversion, CVS nebo Perforce, může být celá sada informací v úložišti duplikována v systému každého uživatele nebo může být uchovávána na jediném serveru. [2] Některá z metadat, která úložiště obsahuje, zahrnují mimo jiné historický záznam změn v úložišti, sadu objektů commitů a sadu odkazů na objekty commitů, nazývaných hlavy. Hlavním účelem úložiště je uchovávat sadu souborů a historii změn provedených v těchto souborech. [3] Přesně jak každý systém správy verzí zpracovává ukládání těchto změn, se však značně liší. Například Subversion se v minulosti spoléhal na instanci databáze, ale od té doby přešel k ukládání svých změn přímo na souborový systém. [4] Tyto rozdíly v technikách ukládání obecně vedly k různorodému používání správy verzí různými skupinami v závislosti na jejich potřebách. [5]
Distribuované úložiště je úložiště, které je uloženo na více počítačích. To má řadu výhod, včetně:
Zvýšená odolnost: Pokud jeden počítač selže, úložiště je stále dostupné z jiných počítačů.
Zvýšený výkon: Úložiště lze škálovat přidáním dalších počítačů, což může zlepšit výkon pro velké úložiště.
Snížená latence: Úložiště lze uložit na počítače, které jsou geograficky blízko uživatelům, což může snížit latenci při přístupu k úložišti.
Centralizované úložiště je úložiště, které je uloženo na jediném počítači. To má řadu výhod, včetně:
Snadná správa: Centralizovaná úložiště jsou obecně snadněji spravovatelná než distribuovaná úložiště.
Vyšší zabezpečení: Centralizovaná úložiště lze lépe zabezpečit, protože jsou uložena na jediném počítači.
Nižší náklady: Centralizovaná úložiště jsou obecně levnější než distribuovaná úložiště, protože nevyžadují nákup a údržbu více počítačů.
Typy úložišť
Existují dva hlavní typy úložišť:
Plochá úložiště: Plochá úložiště ukládají všechny soubory a metadata v jednom adresáři. To zjednodušuje správu úložiště, ale může být méně efektivní pro velké úložiště.
Hierarchická úložiště: Hierarchická úložiště ukládají soubory a metadata v hierarchické struktuře. To může být efektivnější pro velké úložiště, ale může být složitější spravovat.
Použití úložišť
Úložiště se používají v různých aplikacích, včetně:
Správa verzí: Úložiště se používají k ukládání historie změn v souborech. To umožňuje uživatelům vrátit se k předchozím verzím souborů a sledovat, kdo a kdy provedl změny.
Spolupráce: Úložiště umožňují více uživatelům pracovat na stejných souborech. Uživatelé mohou vytvářet větve z úložiště a provádět změny ve svých větvích, aniž by ovlivnili ostatní uživatele. Po dokončení změn mohou uživatelé sloučit své větve zpět do hlavního úložiště.
Zajištění kvality: Úložiště se používají k zajištění kvality softwaru. Uživatelé mohou vytvářet testovací větve z úložiště a provádět testy ve svých testovacích větvích, aniž by ovlivnili produkční prostředí. Po dokončení testů mohou uživatelé sloučit své testovací větve zpět do produkčního prostředí.