*
svn.pdf: Prezentacia o zakladnych pojmoch SVN
qos-dev databaza
URL
https://svn.cnl.tuke.sk/qos-bm/basicmeter/[WORKGROUP]/[PROJECT]/
[WORKGROUP] -> analyzer | collector | exporter
[PROJECT] -> tvoj nazov projektu
Predpisana struktura adresarov v ramci projektu
[PROJECT]/SRC - zdrojove kody
[PROJECT]/DOC - sys. dokumentacia
[PROJECT]/readme - 2-3 vetami opisany projekt
Uvodik
Aj napriek svojej rozsiahlosti je praca so SVN jednoducha a pracuje sa stale s tymi istymi pojmami. Pre zaklane pouzivanie je potrebna znalost nasledujucich prikazov(vid. nizsie). Vo vyvojovych prostrediach je ich pouzitie zaimplementovane bud do wizardov, alebo v roznych rozbalovacih ponukach. Treba si osvojit postupnost volani pri praci na projekte, to sa da naucit len praxou ;). Jedinou vaznejsou vecou s ktorou sa mozete stretnut je tzv. konflikt, ktory vznikne pri subeznej editacii toho isteho bloku kodu.
svn checkout/co
Tento prikaz sluzi na ziskanie SVN repozitara z urcenej url (narp svn://svn.marjan.sk/projekt1). Vacsinou 'co' staci urobit iba raz a pracovat s danou kopiou lokalne na disku. V pripade ze sa rapidne zmeni struktura adresarov, je nevyhnutne urobit novy 'co' pricom stara verzia musi byt zmazana. Netreba si mylit checkout s update, lebo 'co' stahuje novu instanciu a update aplikuje zmeni oproti pracovnej verzii.
svn add
Svn add sa pouziva vylucne na pridanie noveho suboru/adresara do repozitara. Ak sa pri praci na projekte vytvori lokalne nejaky adresar, tak ho svn ignoruje do tej doby pokial sa prikazom svn add neprida do repozitara, potom snim uz pocita. Celkova zmena sa prejavi az po potvrdeni (svn commit). Vo vyvojovich prostrediach je vacsinou implementovane automaticke volanie 'svn add' pri vytvoreni suboru/adresara v projekte.
svn delete
Obdobne ako pri svn add treba explicitne svn povedat ze dany subor/adresar uz nepari do repozitara projektu. Zmeny sa prejavia az po potvrdeni svn commit.
svn status
Tento prikaz vypise status lokalnej(pracovnej) verzie repozitara voci hlavnej(na strane servera). Vypis sa tyka pripadnych rozdielov v suboruch medzi reviziami, zmenaniami alebo priadnia novych suborov. Prikaz nema vplyv na pracovnu ani hlavnu verziu repozitara a poskytuje len informaciu o rozdieloch.
svn update/up
Tento prikaz zosynchronizuje lokalnu verziu repozitara so serverom. V pripade ze existuje rozdiel, tak sa to aplikuje na lokalnu verziu. Krajnym pipadom update moze byt konflikt ktory poukazuje ze je rozdiel medzi repozitarmi na rovnakom mieste a neda sa jednoznacne urcit ktora verzia je aktualnejsia. Taketo konflikty sa riesia manualne, pricom svn vlozi do kodu obe verzie a je uz len na programatorovi aby zmazal tu neaktualnu.
Dobrym zvykom je pouzivat svn update pred kazdym potvrdenim lokalnych zmien (commit). Niektore vyvojove prostredia to robia automaticky.
svn commit/ci
Tento prikaz sluzi k potvrdeniu zmien a ich zaslaniu na SVN server. Po zbehnuti sa zvysi revizia daneho projektu a aktualnou sa stava potvrdzovana kopia. Vacsinou pri potvrdzovani je nutne zadat aj kometar popisujuci zmeny ktore boli uskutocnene.
svn diff
Diff je napomocne hned dvakrat. Prvykrat, ked prava nedovoluju zapisat zmenu do repozitara, tak pomocou diff sa da urobit tzv pach, ktory je mozne nasledne zverejnit a v pripade vyhovujuceho riesenia aplikovat. Druhykrat, ked je potrebne sledovat detailne zmeny medzi roznymi reviziami a tu uz bud celkovo, alebo len nad jednotlivimi suborami. V Netbeanse je diff implementovany uzasne

a dokoca interaktivne vie ukazovat zmeny (oplati sa pozriet).
Netbeans
Nema zmysel vymyslat vlastne navody, lebo tento je uzasny. Je vnom absolutne vsetko a krasne s obrazkami.
VIM
Pre VIM neexistuje nativna podpora versioning systemov, preto si treba osvojit manualne pouzivanie svn (vacsinou command svn). Existuje vsak plugin
Subversion (svn) integration plugin no nepodarilo sa mi ho rozbehat do deterministickeho stavu. Kazdopadne pri editacii zdrojovych kodov netreba nutne zatvarat VIM-ko ked chceme volat nejaky command, staci v prikazovom rezime spustit prikaz ':! svn command' a potrebny proces sa vykona na pozadi

(napr :! svn status).
Linux
Tu mi neostava nic ine ako len odporucat prikaz "svn help", lebo "man help" bol pre mna prilis strucny ;D.
Windows
Strasne vela moznosti, ale priznam sa ze nemam skusenosti so ziadnou ;( .
Ďalšie informácie o SVN na
http://java.vse.cz/Main/Subversion.