* 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 smile 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 wink (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.

Topic attachments
I Attachment Action Size Date Who Comment
pngpng Screenshot.png manage 254.8 K 16 Mar 2010 - 08:20 UnknownUser Easy howto checkout
pdfpdf svn.pdf manage 359.0 K 12 Mar 2010 - 02:05 UnknownUser Prezentacia o zakladnych pojmoch SVN
Topic revision: r7 - 22 May 2011 - 16:02:45 - MiroslavPorada
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback