Kapitola 3. Úložiště

Obsah

Vytváření úložiště
Vytvoření úložiště z příkazového řádku klienta
Vytváření úložiště pomocí TortoiseSVN
Lokální Přístup do Úložiště
Přístup k úložišti na síťovém disku
Rozložení úložiště
Záloha Úložiště
Hákové skripty na straně serveru
Odkazy pro Získání
Přístup do úložiště

Ať používáte jakýkoli protokol pro přístup do úložiště, vždy musíte alespoň jedno vytvořit. To může být provedeno buď z příkazové řádky klienta Subversion nebo z TortoiseSVN.

Pokud jste ještě nevytvořili úložiště Subversion, teď je na to vhodná doba.

Vytváření úložiště

Vytvoření úložiště z příkazového řádku klienta

  1. Vytvořte si prázdnou složku s názvem SVN (např. D:\SVN\), která bude použita jako kořen pro všechny Vaše úložiště.

  2. Vytvořte si další složku MojeNoveUloziste v D:\SVN\.

  3. Spusťte příkazový řádek (nebo DOS-Box), přejděte na D:\SVN\ a napište

    svnadmin create --fs-type fsfs MojeNoveUloziste
    

Vaše nové úložiště se teď nachází v D:\SVN\MojeNoveUloziste.

Vytváření úložiště pomocí TortoiseSVN

Obrázek 3.1. Menu TortoiseSVN pro složky bez verzí

Menu TortoiseSVN pro složky bez verzí

  1. Otevřete Průzkumníka Windows

  2. Vytvořte si novou složku a pojmenujte ji např. SVNUloziste

  3. Klikněte pravým tlačítkem myši na nově vytvořený adresář a vyberte TortoiseSVN Zde Vytvořit Úložiště.

    Úložiště je poté vytvořeno uvnitř nového adresáře. Neupravujte tyto soubory sami!. Pokud se zobrazí jakékoliv chyby, ujistěte se, že adresář je prázdný a není chráněn proti zápisu.

    Budete také dotázáni, zda chcete vytvořit adresářovou strukturu v rámci úložiště. Více informací o volbách uspořádání naleznete v „Rozložení úložiště“.

    TortoiseSVN nastaví vlastní ikonu adresáře, při vytvoření úložiště, takže můžete určit místní úložiště snadněji. Pokud vytvoříte úložiště pomocí příkazového řádku oficiálního klienta, tato ikona není adresáři přiřazena.

Tip

Dále také nedoporučujeme používat pro přístup file://, kromě pro lokální účely testování. Použití serveru je mnohem bezpečnější a spolehlivější pro všechny, až na práci jednoho vývojáře.

Lokální Přístup do Úložiště

Pro přístup do lokálního úložiště je třeba znát cestu k tomuto adresáři. Jen nezapomeňte, že Subversion očekává, že všechny cesty úložiště budou ve formě file:///C:/SVNUloziste/. Nezapomeňte všude používat lomítka.

Pro přístup k úložišti nacházející se ve sdílené síti, buď můžete použít mapování disku, nebo UNC cestu. Cesty UNC mají formu file://JmenoServeru/cesta/do/uloziste/. Všimněte si, že se zde používájí pouze 2 přední lomítka.

Před SVN 1.2, musely být UNC cesty uvedeny v nepřehledné podobě file:///ile://\JmenoServeru/cesta/do/uloziste/. Tato forma je stále podporována, ale nedoporučuje se.

Přístup k úložišti na síťovém disku

I když je teoreticky možné mít FSFS úložiště v sdílené síti a více uživatelů by k němu přistupovalo pomocí protokolu file://, toto rozhodně není doporučeno. Ve skutečnosti silně odrazujeme a takové použití z různých důvodů nepodporujeme:

  • Zaprvé: Každému uživateli dáváte přímý přístup k zápisu do úložiště, takže jakýkoliv uživatel může omylem vymazat celé úložiště nebo nějakým jiným způsobem ho poškodit.

  • Za druhé, ne všechny síťové protokoly pro sdílení souborů podporují zamykání, které Subversion potřebuje, takže Vaše úložiště může být poškozeno. Nemusí se to stát hned, ale jednoho dne se dva uživatelé pokusí o přístup do úložiště ve stejnou dobu.

  • Zatřetí: oprávnění k souboru musí být na to nastavena. Možná Vám to projde na sdíleném disku Windows, ale SAMBA je obzvlášť obtížná.

  • Pokud jedna osoba nainstaluje novou verzi klienta, která aktualizuje formát úložiště, pak všichni ostatní nebudou mí přístup k úložišti, dokud také nenainstalují novou verzi klienta.

Přístup přes file:// je určen pouze pro místní přístup jednoho uživatele a to zejména pro účely testování a ladění. Když chcete sdílet úložiště je opravdu třeba zřídit si řádný server a vůbec to není tak složité, jak si možná myslíte. Přečtěte si „Přístup do úložiště“ pro pokyny k výběru a nastavení serveru.

Rozložení úložiště

Než začnete importovat data do úložiště, měli byste se nejprve zamyslet nad tím, jak chcete Vaše data uspořádat. Pokud použijete jeden z doporučených rozložení, budete to později mít mnohem jednodušší.

Existují některé standardní, doporučené způsoby, jak organizovat úložiště. Většina lidí si vytvořit kmen adresář, který obsahuje hlavní linku vývoje, adresář větve obsahuje kopie větví a adresář značky obsahuje kopie značek. Pokud úložiště obsahuje pouze jeden projekt, pak se často vytváří tyto adresáře nejvyšší úrovně:

/kmen
/větve
/značky
      

Protože je toto uspořádání běžně používáno, bude i Vám při vytváření nového úložiště pomocí TortoiseSVN tato struktura nabídnuta.

Pokud úložiště obsahuje více projektů, lidé často indexují jejich rozložení podle větve:

/kmen/barva
/trunk/kalkul 
/větve/barva 
/větve/kalkul
/značky/barva
/značky/kalkul
      

... nebo podle projektu:

/barva/kmen
/barva/větve
/barva/značky
/kalkul/kmen
/kalkul/větve
/kalkul/značky
      

Indexování podle projektu má smysl v případě, že projekty spolu úzce nesouvisí a každý z nich je získáván individuálně. Pro související projekty, kde se budete chtít podívat na všechny projekty najednou, nebo tam, kde projekty jsou všechny spojeny v jediném distribučním balíčku, je často lepší indexovat podle větví. Tímto způsobem máte jen jeden kmen pro získání a vztahy mezi podprojekty jsou lépe viditelné.

Pokud přijmete model nejvyšších úrovní /kmen /značky /větve, nemusíme říkat, že musíte zkopírovat celý kmen pro každou větev a značku, a v některých ohledech tato struktura nabízí největší flexibilitu.

Pro nesouvisející projekty byste raději měli použít samostatné úložiště. Když se odevzdají změny, je to číslo revize celého úložiště, které se mění a ne číslo revize projektu. Mít 2 nesouvisející projekty sdílející 1 úložiště může znamenat velké rozdíly v číslech revizí. Projekty Subversion a TortoiseSVN se objevují na stejné adrese hostitele, ale jsou to zcela oddělená úložiště umožňující nezávislý vývoj a žádný zmatek nad čísly sestavení.

Samozřejmě, máte možnost tyto běžná rozložení ignorovat. Můžete si vytvořit jakýkoli druh variace, co bude pro Vás a Váš tým nejlepší. Pamatujte si, že to, co si zvolíte, není trvalý závazek. Svoje úložiště si můžete uspořádat kdykoliv. Vzhledem k tomu, že větve a značky jsou obyčejné adresáře, může je TortoiseSVN přesunout nebo přejmenovat jak budete chtít.

Přechod z jednoho rozložení na druhé je jen otázkou vydání řady přesunů na straně serveru; Pokud se vám nelíbí, jak jsou věci v úložišti organizovány, stačí jen zahýbat kolem adresáři.

Takže pokud jste si ještě nevytvořili základní adresářovou strukturu uvnitř úložiště, měli byste to hned udělat. Existují dva způsoby, jak toho dosáhnout. Pokud si chcete jednoduše vytvořit strukturu /kmen /značky /větve, můžete použít prohlížeč úložiště pro vytvoření těchto tří adresářů (ve třech samostatných odevzdání). Pokud chcete vytvořit hlubší hierarchii, pak je jednodušší si nejdříve vytvořit adresářovou strukturu na disku a pak importovat v jediném odevzdání takto:

  1. vytvořte si novou prázdnou složku na Vašem pevném disku

  2. vytvořte si požadovanou strukturu adresáře nejvyšší úrovně v daném adresáři - nevkládejte, prozatím, do něho žádné soubory!

  3. importujte tuto strukturu do úložiště pomocí kliknutím pravého tlačítka myši na adresář, který obsahuje tuto adresářovou strukturu a vyberte TortoiseSVN Imporovat... V dialogovém okně import zadejte URL adresu svého úložiště a klepněte na tlačítko OK. Toto importuje Váš dočasný adresář do kořene úložiště k vytvoření základního rozvržení úložiště.

Nezapomeňte, že název adresáře, který importujete, se nezobrazí v úložišti, pouze jeho obsah. Například, vytvořte následující strukturu adresáře:

C:\Temp\Novy\kmen
C:\Temp\Novy\vetve
C:\Temp\Novy\štítky

Import C:\Temp\Novy do kořene úložiště, pak bude vypadat takto:

/kmen
/větve 
/značky