English language

Subversion v Linuxu



Subversion na sourceforge.net
Subversion klient pro KDE
CVS do Subversion



19.03.2007

Subversion

Musíme nainstalovat následující balíčky:
subversion
subversion-devel
kdesvn

Checkout projektu ze serveru sourceforge.net

svn co https://svn.sourveforge.net/svnroot/yourproject yourproject
Takto vypadá struktura adresářů subversion projektu

   yourproject/trunk/ ......... Sem ukládají všichni vývojáři co na projektu pracují své finální verze.

   yourproject/branches/ ...... Každý vývojář si v tomto adresáři může vytvořit vlastní větev, nezávislou na ostatních.

  yourproject/tags/ .......... Sem se ukládají finální verze projektu. V tomto adresáři nemůže vývojář nic měnit. Může jen nakopírovat finální verzi a pokračovat na další verzi projektu ve vlastní větvi (branches)

Subversion klient pro KDE

Subversion klient pro KDE je
kdesvn
http://www.alwins-world.de/programs/kdesvn/

Update, commit, přidání souboru (adresáře), vymazání souboru (adresáře), logy, rozdíly mezi verzemi ... toto vše je v tomto programu jednoduché a intuitivní.

Vytváření větví (Branches) a tagů (Tags).

Větve a tagy se vytvářejí kopírováním.
1. Označíme adresář projektu v trunk subversion adresáři.
2. Klepnem na
Subversion->General->Copy
Napíšem například
branches/yourproject_0_1
pro větev verze 0.1
nebo
tags/yourproject_0_1
pro tag verze 0.1
3. Nyní můžeme pracovat v nové větvi
branches/yourproject_0_1

Případně můžeme použít konzolový příkaz:
svn copy trunk branches/yourproject_0_1 -m "I create new branch"
nebo
svn copy trunk tags/yourproject_0_1 -m "I create new tag"

Mergování

Pokud budeme chtít převést vlastní verzi z větve do kmene (trunk), klepneme na
Subversion->General->Merge...
a zadáme
Source 1: trunk/yourproject
Source 2: branches/yourproject_0_1
Output to: trunk/yourproject
Start with revision: WORKING
Stop with revision: WORKING

Případně můžeme použít konzolový příkaz:
svn merge -r 1:COMMITTED branches/yourproject_0_1 trunk

Subversion na lokálním počítači

Vytvoření nové subversion repository

svnadmin create /path/to/repos

Import projektu do repository

svn import /tmp/localproject file:///path/to/repos/svnroot-localproject -m "Initial import"

Checkout projektu z repository

V pracovním adresáři např. "/home/username/work/" zadáme následující příkaz:
svn co file:///path/to/repos/svnroot-localproject localproject
V pracovním adresáři vznikne nový adresář "localproject"

Vytvoření základních adresářů (trunk, tags, branches)

V adresáři projektu "localproject" zadáme příkaz:
svn mkdir trunk tags branches
svn commit -m "Create normal infrastructure"

CVS do Subversion

Musíme nainstalovat následující balíčky:
cvs2svn
python
rcs

Nyní zadáme do konzole
cvs2svn -s file:///path/to/repos/svnroot-localproject CVSROOT
a checkout-nem tento project ze subversion repository
svn co file:///path/to/repos/svnroot-localproject localproject

Problémy

Jestliže příkaz
svn update
vyhodí chybovou hlášku:
svn: Failed to add directory 'k3dengine': object of the same name is already scheduled for addition
můžeme zkusit probém vyřešit příkazem revert
Subversion->Working copy->Revert current changes


home / cvs


Valid XHTML 1.0 Transitional