Einstieg

Als erstes sollte man sich mal eine SVN-Datenbank (Repository) anlegen:

svnadmin create /path/to/repository/ --fs-type fsfs

In diesem Pfad liegt nur die Datenbank auf die man niemals direkt zugreift.

Nun erstellt man sich eine Arbeitskopie:

svn co file:///path/to/repository/ /path/to/workingcopy/

Wenn man will kann man später auch über 'ssh', 'apache' oder 'svnserve' übers Netzwerk auf die Repository zugreifen, dafür muss man allerdings den entsprechenden Service erst einrichten…

Man kann nun beliebige Verzeichnisse und Dateinen in der Arbeitskopie anlegen. Es ist aber anzuraten erstmal eine Standard-Ordernstruktur hochzuladen:

 cd /path/to/workingcopy/
 svn mkdir branches tags trunk

“svn mkdir somedir” entspricht “mkdir somedir;svn add somedir” Es macht also die neu erstellten Verzeichnisse gleich mit SVN bekannt.

Nun kann man mit

svn commit

die Arbeitskopie zur Repository hochladen.

Wenn man mit Anderen an einer Repository arbeitet, sollte man vor einem 'commit' immer ein

svn update

machen. Damit bringt man seine Arbeitskopie auf den aktuellen Stand und kann Konflikte mit den änderungen der Anderen ausräumen.

Konfliktbehandlung

User 1:

 cd /home/user1/project1/svn
 svn update
 echo "Hi">datei.txt
 svn add datei.txt
 svn update
 svn commit datei.txt

User 2:

 cd /home/user2/project1/svn
 svn update
 echo "Hi Du!">datei.txt
 svn update
 svn commit datei.txt

User 1:

 echo "Na Du!">datei.txt
 svn update
 svn status

Zeigt “C” (conflict) für die datei.txt Wir beheben den Konflikt, teilen das SVN mit und laden die Datei hoch.

echo "Hi Du Nase!">datei.txt
svn resolved datei.txt
svn update

Machte User2 zwischenzeitlich einen erneuten Commit, könnten neue Konflikte auftreten.

svn commit datei.txt

Weblinks

svnbook.red-bean.com Das SVN-Buch (englisch)

 
subversion.txt · Last modified: 2008/02/26 00:16 (external edit)
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki