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 15MB):

TortoiseSVN-1.8.2.24708-win32-svn-1.8.3.msi

·        Případně pro 64 bitová Windows (cca 20MB):
TortoiseSVN-1.8.2.24708-x64-svn-1.8.3.msi

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

2) Balíček spusťte/nainstalujte (cca 25MB) 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“.

 

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

Debug DebugSimple Release ipch x64 html latex *.bak *.ipch *.sdf *.opensdf *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo __pycache__ *.rej *~ #*# .#* .*.swp .DS_Store *.exe *.msi *.suo *.com *.scr *.dll *.lib *.obj *.ilk *.idb *.pdb *.ncb *.manifest *.res *.rc *.tlog *.log *.lastbuildstate *.dep *.mkv *.mka *.mk3d *.mks *.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 *.pdf *.doc *.docx *.xls *.xlsx *.odt *.ods *.lnk *.ppt *.pps *.pptx *.ppsx *.css *.html *.js *.bat *.tex *.sty *.map *.md5

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

 

6) Dále je vhodné nastavit externí zobrazování rozdílů u souborů: .rtf pomocí wordovského porovnávání souborů.

Nyní najděte položku pro koncovky souborů: .doc a zvolte: “Edit“.

 

Celý text zadaný v položce “External Program“ si označte a vložte do clipboardu (schránky). Dále zvolte: “Cancel“.

Nyní vytvořte nové pravidlo pro soubory s koncovkou: .rtf a do položky: “External Program, vložte text ze schránky. Dále zvolte tlačítko: “OK“. To je vše.

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

svn://savanna.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).

 

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

8) 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).

9) 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.

10) Po provedení změn v lokálním projektu je možné pomocí: “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.

11) Pozor! Pokud přecházíte z některé ze starších verzí Tortoise SVN klienta (před verzí 1.8), je třeba pro všechny lokální pracovní kopie provést konverze do nového formátu:

Spojování verzí

Spojení dvou verzí/větví projektu.

Projekt je vytvářen v: /trunk
Větev pro modifikace, kterou chceme přidat je v: /branches/oprava_hlavicka

Nad adresářem: trunk vyvoláme kontextové menu (pravé tlačítko myši) a v něm volbu:
TortoiseSVN >> Merge“.
Zvolíme možnost “Merge a range of revisions“ (větev se připojí a je označena jako už jednou připojena "tj. není ji možné připojit vícekrát", na původním místě v SVN repository ale zůstane a pokud je to nutné je možné ji následně označit jako smazanou).
Pokračujeme: “Next“.

Zapíšeme/vybereme adresář, který budeme připojovat:

svn://savanna.uamt.feec.vutbr.cz/bppc/_vase_jmeno_projektu/branches/oprava_hlavicka

dále zvolíme možnost: “all revisions
a pokračujeme: “Next.

Nastavíme volby: “Ignore all whitespace“. Máme možnost udělat: “Test merge“, který nám řekne, jak by ostrý běh spojování dopadl. Stiskem: “Merge“ verze spojíme. Dostaneme volbu jak se zachovat k rozdílům. Buď dáme: “Resolve later“ (a potom musíme řešit konflikt přes menu vždy nad konfliktním souborem pomocí: “TortoiseSVN >> Edit conflicts“). Další možností je pokud jsme konflikt v soboru už ručně vyřešili/opravili jej označit jako vyřešený přímo pomocí: “TortoiseSVN >> Resolve.... Otevře se okno pro srovnání verzí a v něm vytvoříme verzi jejich spojením (pravé tlačítko myši, pozor jaká část textu je vybrána - tlustě ohraničený text). U “Edit“ odcházíme uložením a následně volbu: “Mark as resolved“ v dialogu a exit.
Při editaci pozdější zmáčkneme tlačítko v menu: “Mark as resolved“.

Tímto je spojovaní hotovo. Ověřte, že program lze přeložit a funguje. Nyní proveďte uložení spojené verze do repository pomocí: “SVN Commit“, protože doposud jsou všechny změny uloženy pouze v lokální kopii na vašem disku.

V případě, že dojde k chybě, můžeme nad adresářem (výsledným) zadat příkaz:
TortoiseSVN >> Revert...“.
Soubory které se budou obnovovat, je nutné označit včetně adresáře, neboť adresář obsahuje ještě další poznámky o změnách v obnovovaných souborech!!!

Literatura

Více informací pro práci se Subversion včetně obrázků najdete zde:

·        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/clanky/programovani/jak-spravovat-software-pomoci-subversion-i

·        http://www.abclinuxu.cz/clanky/programovani/jak-spravovat-software-pomoci-subversion-ii

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

Kompletní manuál k Subversion najdete zde:

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