Základní pojmy užívané v systémech pro správu verzí

 

·      Repository

·      Model práce:
Copy - Modify - Merge (Kopie – Úprava – Sloučení)

·      Revize

·      Tag

·      Checkout

·      Update

·      Commit

 

Instalace lokální části SVN

1) Stáhněte z adresy:   http://tortoisesvn.net/downloads příslušný instalační balíček:

·        Pro 32 bitová Windows (cca 19MB):
TortoiseSVN-1.6.6.17493-win32-svn-1.6.6.msi

·        Případně pro 64 bitová Windows:
TortoiseSVN-1.6.6.17493-x64-svn-1.6.6.msi

·        Můžete zkusit i český jazykový balíček. (není nutný)

2) Balíček spusťte/nainstalujte (cca 2MB) Instalace bude vyžadovat učet správce systému.

3) Restartujte.

4) Nyní se ve správci souborů (Explorer, Salamander, Total commander, ...) objeví při stisknutí pravého tlačítka dvě nové volby - SVN Checkout a Tortoise SVN.

5) Nyní provedeme konfigurace nainstalovaného klienta. Pravým tlačítkem zvolíme:
Tortoise SVN >> Settings

svn_settings.png

 

a do položky Global ignore pattern zadáme následující hodnoty:

Debug Release *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo *.rej *~ #*# .#* .*.swp .DS_Store *.exe *.msi *.suo *.com *.scr *.dll *.lib *.obj *.ilk *.idb *.pdb *.ncb *.manifest *.user *.res *.dep *.avi *.mpeg *.mpg *.mp2 *.mp3 *.mp4 *.m4a *.m4v *.wmv *.wma *.wav *.flv *.3gp *.jpg *.jpeg *.bmp *.gif *.png *.tmp *.temp *.out *.zip *.arj *.rar *.7z *.gz *.bz2 *.tgz *.doc *.pdf *.docx *.odt *.ods *.lnk *.ppt *.pps

Následně změňte tlačítkem Edit nastavení dle tohoto souboru.

svn_configuration2.png

6) Spusťte SVN Checkout a nastavte parametry adresáře na serveru URL:

svn://pcrichter.uamt.feec.vutbr.cz/bppc/_vase_jmeno_projektu/trunk

svůj lokální adresář pro udržování projektu

a můžete zadat i číslo revize (verze při postupném ukládání) kterou chcete načíst - volba HEAD revision znamená aktuální (tj. poslední uloženou) revizi

svn_checkout.png

Po odeslání zadejte jméno a heslo:

svn_login.png

7) Pokud se přihlášení podařilo, zjistíme, že je projekt pod správou SVN podle toho, že je u jejího adresáře zelena fajfka (verze je synchronní s repository) nebo červený vykřičník (lokální verze se od repository odlišuje). Například u Total commanderu je nutné povolit překryvné ikony aby došlo k zobrazení znaků nad ikonami.

svn_icon1.pngsvn_icon2.png

8) Aktualizování lokální verze je možné pomocí SVN Update (volby pravého tlačítka). Tímto se lokální verze doplní o změny v repository, které mezitím mohli provést ostatní uživatelé, ale změny lokální zůstanou zachovány.

svn_update.png

9) Po provedení změn v lokálním projektu je možné pomoci SVN Commit (volby pravého tlačítka) nahrát změny na server, čímž se vytvoří nová revize (nové číslo). Revize se vytvoří na lokálním i centrálním úložišti. K aktuálně ukládané verzi je nutné dopsat komentář popisující změny a potvrdit zápis heslem.

 

Vice informací pro práci se Subversion i s obrázky najdete na:

·        http://tortoisesvn.net/easy_to_use

·        http://merlin.fit.vutbr.cz/wiki/index.php/SVN_tutoriál

·        http://docs.google.com/present/edit?id=0AWYF6xvd3tK3YWprNjk5azZkcXpiXzE3N2Y3Z2I1cThw&hl=cs

·        http://www.abclinuxu.cz/blog/Drobnosti/2007/8/24/191133

·        http://cs.wikipedia.org/wiki/Subversion

http://www.slideshare.net/csixty4/subversion-497606



Nebo celý manuál k Subversion na:

·        http://svnbook.red-bean.com/nightly/en/svn-book.pdf

 



Projekt má adresářovou strukturu. Adresář Trunk (hlavní větev, vývojový strom) je určen pro aktuálně vyvíjenou verzi, takže ten je primárně určen pro vaši práci. V tomto adresáři si založte podadresář Docs kam nahrajete nejdříve zadání a posléze dokumentaci. Pro vlastní projekt založte adresář Projekt a do něj vkládejte soubory projektu. Je možné zde založit i pracovní adresáře ale k datu odevzdání bude důležitý obsah v adresáři Projekt.
Adresář tags je určen pro uchovávání významných verzí k určitému stavu/datu. Zde vám budeme dělat „otisky“ k výzanmným datům – odevzdání.
Adresář branches je určen pro „dolaďování“ v okamžiku, kdy se rozdělí skupiny a každá dělá něco jiného (jeden ladí chyby ve stavu kdy se projevují, zbývající část pokračuje ...). Je to nový strom, který pracuje s jiným projektem. Poté co obě části dosáhnou určitého stavu dochází k jejich spojení – protože to musí udělat programátoři a je to většinou složitější činnost, je potřeba využívat s rozvahou. (V rámci našeho jednoduchého projektu není nutné používat. Budete dělat pouze „běžné“ korekce projektu, které zvládne základní svn v trunk).



V případě rozsáhlejší změny – například přejmenování adresáře (v repo-browser) – je výhodné zajistit na svn i u všech uživatelů aktuální verzi (update), potom provést změnu a následně opět update u všech uživatelů. Tím se ušetří řešení případných konfliktů.

Pokud dojde ke konfliktu (změna, kterou není databáze schopna sama rozhodnout – například více autorů mění jednu část kodu – potom se vytvoří několik souborů – původní, aktuální v svn, aktuální u uživatele – z ních je nutné vybrat tu nejlepší a pomocí svn-resolved ji označit za výsledek řešení konfliktu.



Poslední úpravy 2009-11-18