Dokumentace systemu Subversion 1.1 (kniha online) ------------------------------------------------- http://svnbook.red-bean.com/ Domovska stranka projektu Subversion: http://subversion.tigris.org. Pro bezne uzivani Subversion (tj. nikoli instalaci a administraci) doporucuji precist kap. 1, (2) a zejmena 3. Muze se hodit i neco z kap.5. Instalace svnserve (RedHat Fedora Core 2) - administrator, jednou ----------------------------------------------------------------- rpm --install subversion-1.1.4-3_15.rhfc2.at.i386.rpm (zavisi na python24-2.4-3_6.rhfc2.at.i386.rpm) Vyrobit uzivatele svn. Repozitory budou v adresari /home/svn/REPOSITORY (vlastnik svn:svn) svnserve - Spousteni pres inetd, port 3690/TCP: do /etc/services: svnserve 3690/tcp svn subversion # Subversion protocol svnserve 3690/udp svn subversion do /etc/inet.d: svnserve stream tcp nowait svn /usr/bin/svnserve svnserve -i -r /home/svn/REPOSITORY Je-li to Fedora2 s xinetd, misto toho do /etc/xinetd.d pridat soubor svnserve s timto obsahem: service svnserve { flags = REUSE socket_type = stream wait = no user = svn server = /usr/bin/svnserve server_args = -i -r /home/svn/REPOSITORY log_on_failure += USERID # disable = no } Restartovat (x)inetd kill -s SIGHUP Vytvorit repozitory: su svn cd /home/svn/REPOSITORY svnadmin create --fs-type fsfs virtlab (vznikne adresar /home/svn/REPOSITORY/virtlab) ve vzniklem adresari conf do souboru svnserve.conf: [general] anon-access = none auth-access = write password-db = passwd realm = Virtlab Repository do adresare conf pridat soubor passwd s obsahem ve stylu: [users] gry72 = h1 kub348 = h3 svn = h2 Prace se zdrojovymi texty (vyvojar-uzivatel, neustale) ------------------------- (Prvni) ziskani aktualni verze (working copy) na lokalni stroj: svn checkout svn://localhost/virtlab (vyrobi i adresar virtlab) Update lokalni working copy podle repository (vzdy pred zahajenim prace na zdrojacich a po neuspesnem commitu). svn update (v adresari s repository, tj. zde virtlab) Symbol "G" znamena merGed (prilepil upravy z repository v lokalnim, netloukly se) Zde pozor na symbol C u vypisu stavu souboru - CONFLICT Pak lze rucne upravit zdrojak, rozhodnout, ktere zmeny nechat. V adresari se souborem jsou i soubory se starou a novou verzi. Po uprave souboru s "C": svn resolved Pak uz lze commit. Zjisteni, co se v lokalni working copy od posledniho commitu zmenilo svn status Zruseni zmen provedenych v nekterem souboru v lokalni working copy od posleniho commitu: svn revert Ulozeni zmen do repository svn commit "popisny text, co se zmenilo od posledne" Pridavani/mazani/prejmenovavani/kopirovani souboru -------------------------------------------------- svn list [adresar] - jako ls adresare repozitory svn add svn delete svn rename svn copy --------------------------------------------------- Sprava repository (uzivatel svn, heslo 456cvs) ----------------- Prvotni import (kdokolii odkudkoli): svn import /tmp/pokus svn://localhost/virtlab -m "prvotni import" Vypis popisky posledni verze (user svn) svnlook log /home/svn/REPOSITORY/virtlab/ XXXXXXXXXXXXXXXXXXXXXXXXXX SubVersion na virtlab.vsb.cz XXXXXXXXXXXXXXXXXXXXXXX From Filip Stanek: 16.9. Takze virtlab.vsb.cz je dostupny pres SSH, HTTP a HTTPS odevsad z internetu. SSH je momentalne nastaveno tak, ze povoli pristup pouze Pavlu Nemcovi, Tobe a me (tedy nem114, gry72 a sta03) odevsad. Pavel Nemec i Roman Kubin maji vytvoren ucet, ale nemaji(!) nastaveno heslo. ApacheSSL funguje. Mysql funguje. Subversion je nainstalovan, ale neni zkonfigurovan. 19.9.05 ... zatim jsem (nekdy o vikendu) cvicne vytvoril repository (s databazi na FS) v /usr/local/svn a zkusil rozjet prohlizeni repozitare pres WWW (koukni na: https://virtlab.vsb.cz/websvn/) 11.10.05 Subversion jede nativne pres ssh, zkousel jsem cvicne svn co svn+ssh://virtlab.vsb.cz/usr/local/svn (reposritory checkout) a proslo mi to ;-) Asi by bylo vhodne, aby si Ti lide co s tim budou delat nahrali sve verejne casti ssh klicu (stroju ze kterych budou k SVN pristupovat) na virtlab. S klicemi je to jednoduche, pouzivas-li linux, s windowsy moc zkusenosti nemam. Na stroji odkud se chces hlasit bez hesla si vygenerujes klice: ssh-keygen -t rsa1 (pro ssh1) ssh-keygen -t rsa (pro ssh2, algoritmus RSA) ssh-keygen -t dsa (pro ssh2, algoritmus DSA) Nasledne si vytvoris soubor ~/.ssh/authorized_keys obsahujici verejnou cast Tvych klicu: cd ~ cat .ssh/*.pub > .ssh/authorized_keys chmod 700 .ssh/authorized_keys Tento soubor si nahrajes na pocitac, kam se chces hlasit, napr.: scp .ssh/authorized_keys virtlab.vsb.cz:.ssh (pozor, na danem stroji musi existovat adresar ~/.ssh !!!) Pristi prihlaseni by jiz melo probehnout bez autentizace heslem. ===================================================================== Instalace repository pro virtlab na virtlab.vsb.cz -------------------------------------------------- (nebezi svnserve ani neni v inetd.conf) Pristup pres ssh. vbirtlab:/usr/local/svn-repos# svnadmin create --fs-type fsfs virtlab chown -R root:virtlab-dev virtlab zeditovat conf/svnserve.conf Prvotni import (z klienta): svn import /tmp/pokus svn+ssh://virtlab.vsb.cz/usr/local/svn/virtlab -m "Prvotni import"