Kapitola 2. Základní koncepty Kontroly Verzí

Obsah

Úložiště
Modely Verzování
Problém sdílení souborů
Řešení Zamknout-Změnit-Odemknout
Řešení Kopírovat-Změnit-Sloučit
Co Subversion dělá?
Subversion v akci
Pracovní kopie
URL úložiště
Revize
Jak Pracovní Kopie Sledují Úložiště
Shrnutí

Tato kapitola je mírně upravená verze téže kapitoly v knize Subversion. On-line verze knihy Subversion je k dispozici zde: http://svnbook.red-bean.com/.

Tato kapitola je krátký, neformální úvod do Subversion. Pokud nejste obeznámeni se správou verzí, tato kapitola je určitě pro Vás. Začneme diskusi o obecných představách o správě verzí, propracujeme se ke konkrétním myšlenkám Subversion, a ukážeme si některé jednoduché příklady použití Subversion.

I přesto, že příklady uvedené v této kapitole ukazují lidi sdílející sbírky zdrojového kódu programu, mějte na paměti, že Subversion může spravovat jakýkoli druh souborů - není omezen na pomoc programátorům.

Úložiště

Subversion je centralizovaný systém pro sdílení informací. Jejím jádrem je úložiště, které je centrálním skladištěm dat. Úložiště uchovává informace ve formě stromu souborového systému - typická hierarchie souborů a adresářů. Libovolný počet klientů se připojí k úložišti a pak z těchto souborů čtou nebo do nich zapisují. Zapisováním dat klient zpřístupňuje informací ostatním; čtením dat klient od ostatních informace obdrží.

Obrázek 2.1. Typický klient/server systém

Typický klient/server systém

Tak proč je to zajímavé? Zatím to zní jako definice typického souborového serveru. A skutečně, úložiště je typ souborového serveru, ale není to jen tak nějaký souborový server. Co dělá úložiště Subversion zvláštní je, že si pamatuje každou změnu která kdy byla na něj vložena: každou změnu každého souboru, a dokonce i změny v samotném stromovém adresáři, jako je přidávání, mazání a přeskupování souborů a adresářů.

Když klient čte data z úložiště, obvykle vidí pouze poslední verzi stromu souborového systému. Ale klient má také možnost zobrazit předchozí stavy souborového systému. Například, klient může položit historickou otázky jako: co tento adresář obsahoval minulou středu?, nebo kdo byl poslední, kdo změnil tento soubor, a jaké změny udělali? To jsou druhy otázek, které jsou srdcem každého systému pro správu verzí: systémy, které jsou navrženy tak, aby uchovávaly a sledovaly změny údajů v čase.