Subversion Beispiel

Wie funktioniert Subversion?

 

Beschreibung
Das Repository mit dem Namen "SVN Repository" enth├Ąlt 3 Projekte. Ihr Name ist "Pr 1", "Pr 2" und "Pr 3". Im FBI k├Ânnte der Repository-Namen lauten:

 https://subversion.h-da.de/svn/fbi/se3x/
Zu Beginn eines Projekts checkt man sein eigenes Projekt aus, z. B. mit dem Kommando:  
svn co https://subversion.h-da.de/svn/fbi/se3x/Pr 1
Als Ergebnis erh├Ąlt man eine lokale Kopie des Verzeichnisses "Pr 1". Dieses Verzeichnis ist leer, da wir noch keine Dateien unter Versionsverwaltung gestellt haben.
Jetzt stellen wir 3 Dateien in das lokale Verzeichnis "Pr 1", die Dateien d1.java, d2.java und d3.java. Um diese Dateien unter Versionsverwaltung zu setzen, wechseln wir in das Verzeichn├şs Pr 1 und setzen die Dateien unter Versionsverwaltung mit dem Kommando:
svn add *.java
 Zum Schluss committen wir die lokale Kopie und transferieren sie damit auf den Server. Das Kommando lautet:  
svn ci -m "drei java-dateien hochgeladen"
Nach dem commit enth├Ąlt das Projekt Pr 1 auf dem SVN-Server die drei Java-Dateien. Die Projekte Pr 2 und Pr  3 sind durch P├╝nktchen angedeutet. Mit dem Kommando:
svn stat
kann man sich den Zustand der Dateien in der LOKALEN KOPIE des Repository ansehen.

 

Wie funktioniert Subversion beim parallelen Zugriff mehrerer Personen?

 

Greifen mehrere Personen auf ein SVN-Repository zu, so arbeiten ALLE auf einer Kopie der selben Daten. Bei einem commit m├╝ssen alle Daten im Repository wieder zu einer Einheit zusammengef├╝gt werden.

 

Beschreibung
Wir nehmen wieder das SVN-Repository von dem Beispiel oben an. Das Repository enth├Ąlt das Projekt Pr 1.. In diesem Projekt sind die drei Dateien d1.java, d2.java und d2.java.
Zwei Entwickler checken das Projekt Pr 1 aus und bearbeiten es parallel.
Entwickler 1 bearbeitet die Datei d1.java.
Entwickler 2 bearbeitet die Datei d2.java.
├ťbertr├Ągt Entw 1 seine Kopie auf den SVN-Server, so stehen seine ├änderungen in d1.java im Repository auf dem Server. Damit Entw 2 bei einem commit diese ├änderungen nicht ├╝berschreibt, muss er seine lokale Kopie zuerst aktualisieren. Dazu nutzt er das Kommando:
svn update
Dadurch aktualisiert er seine Kopie des Repository auf seinem Rechner und kann jetzt, ohne die Daten von Entw 1 zu besch├Ądigen, seine ├änderungen an d2.java auf den Serer ├╝bertragen.
svn ci -m " Jetzt gibt es keine Konflikte zwischen Entw 1 und Entw 2."