Subversion
Kniha Version Control with Subversion
svn help … seznam prikazu SVNka
svnadmin help … seznam prikazu SVNADMINa
~/.subversion/config … Globalni nastaveni promennych klienta SVN
echo “diff-cmd = tkdiff” » ~/.subversion/config … nastaveni grafickeho diff programu
~/.subversion/server … Globalni nastaveni pro server
svnserve … spusteni SVN serveru, ktery nabizi SVN databazi na portu 3690
svnserve -d -r /svn … spusti svn server jako demon, svn repozitar je /svn
WebDAV … WebDAV poskytuje SVN repozitar pres http protokol.
davfs2, fusedav … Umozni na linuxu namountovat WebDAV repozitar jak FS
$SVN/conf/passwd … definice uzivatelu
$SVN/conf/svnserve.conf … konfigurace svn serveru
svnadmin create /home/user/projekt1 … vytvori databazi produjtu v adresari /home/user/projekt1
svn mkdir file:/home/user/projekt1/verze1 … vytvori adresar vezre1 v /home/user/projekt1
svn import soubor file:/home/user/projekt1/verze1 … naimportuje soubor do file:/home/user/projekt1/verze1
svnadmin create /home/user/projekt2 … vytvori databazi produjtu v adresari /home/user/projekt2
svn import adresar file:/home/user/projekt2/verze1 … naimportuje adresar i s podadresarema do file:/home/user/projekt2
==konfigurace WebDAV==
<code>
LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
<Location /svn>
DAV svn
SVNParentPath D:/svn
</Location>
</code>
==Zaloha a oprava SVN repozitare==
svnadmin dump /svn > backup.svn.dumpfile … zazalohovani SVN repozitare do dump souboru
svnadmin load /svn < backup.svn.dumpfile … obnoveni zazalohovaneho SVN repozitare z dump souboru
svnadmin recover … opravi poskozenou Berkley DB SVN repozitare
====SVN klient====
==Ziskani kodu - checkout==
svn co file:/home/user/projekt2/verze1 … (prvotni stazeni projektu) vytvori adresar verze2 a stahne do nej vse z repozitare file:/home/user/projekt2/verze1
svn checkout http://server/user/projekt1 . … vytvori adresar projekt1 a stahne do nej vse z repozitare http://server/user/projekt1 do aktualniho adresare
svn co svn+ssh:1.2.3.4/project/a adresar … stahne kompletni adresar project/a z ssh lokace (svn serveru) do adresare adresar (nikoli do projekt/a)
svn ls file:/home/user/projekt2/verze1 … vylistuje adresar v repozitari
svn list –verbose file:/home/user/projekt1/verze1 … vylistuje adresar v repozitari i s detaily
svn status … porovna lokalni verze a verze v repzitari a napise jejich status
svn diff … vypise zmeny v zouborech oproti repozitari
svn diff soubor –diff-cmd tkdiff … graficke prohlizeni zmen
svn info readme.txt … informace o souboru readme.txt (revize atd.)
svn commit soubor -m “komentar” … updatuje soubor na SVN serveru (ktery je nadefinovan v .svn) (vytvori se pomoci checkout)
svn ci soumor -m “dalsi commit” … updatuje soubor na SVN serveru
svn add soubbor -m “komentar” … prida soubor do repozitare, (ktery je nadefinovan v .svn - vytvori se pomoci checkout), ktery tam jeste neexistuje
svn mv A B … presune soubor A na B (v podstate udela cp + rm)
svn rename A B … prejmenuje soubor A na B (stejne jako svn ren, svn move, svn mv)
svn resolve … vyresi konflikty mezi lokalni verzi a verzi v repozitari
svn rm soubor … smaze soubor v repozitari i na lokale
svn update … updatuje lokalni soboru v aktualnim adresari a podadresarich z SVN serveru (data pro svn server se ctou z .svn)
svn update -r 20 … update lokalni verze podle repository na revizi c. 20
svn propset … nastavi vlastnosti pro jednotlive soubory (napriklad ze se ingoruji SVNkem, ci keywords - doplneni textu misto $promenne$, napr. $id$)
svn propget install.txt … ukaze vlastnosti u souboru install.txt
svn proplist * … vylistuje promenne k urcitym objektum, napriklad ke vsem souborum
cd /path/to/project
svn mkdir tags
svn copy trunk/ tags/before-change
svn commit -m “Tagged version before switching to Qt” tags/
cd /tmp/
svn checkout file:/home/user/svn/project/tags/before-qt