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.8.25755-win32-svn-1.8.10.msi
Případně pro 64 bitová Windows (cca 20MB):
TortoiseSVN-1.8.8.25755-x64-svn-1.8.10.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 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 *.tga *.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
Aktuální nastavení položky naleznete vždy zde:
http://www.uamt.feec.vutbr.cz/~petyovsky/vyuka/bppc/project/ignore_pattern_2014.txt
Následně změňte tlačítkem “Edit“ nastavení dle souboru na odkazu:
http://www.uamt.feec.vutbr.cz/~petyovsky/vyuka/bppc/project/config_2014.txt
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=0AWYF6xvd3tK3YWprNjk5azZkcXpiXzE3N2Y3Z2I1cT
hw&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