Hier werde erklären wie man Subversion auf debain woody installiert und konfiguriert und zwar ohne das man aus den Sourcen kompilieren oder auf testing umsteigen muss, sondern mit fertigen Paketen. Dadurch erspart ihr euch viel Zeit und könnt sicher sein, dass es funktioniert. Dazu müsst ihr nicht viel machen.

Es wird davon ausgegangen, dass man auf dem Server root Rechte hat und die Dateien / Projekte die man ins Subversion einstellen will auch auf diesem Rechner sich befinden. Sollte dies nicht so sein, dann ladet diese bitte hoch, dann ich weis noch nicht wie man eine Projekt remote erstellt.
Wer da mehr weis kann mir ja ne E-Mail schreiben. mail --- bananas-playground --- net


 Meldet euch als root an eurem System an, ansonsten geht da gar nix.

Sourcen eintragen

Öffnet dazu die Datei /etc/apt/sources.list und tragt diese Zeile ein:

1
deb http://people.debian.org/~adconrad woody subversion

Danach ein

1
apt-get update

und wartet bis die apt Datenbank erneuert ist.

Wenn alles gut gegangen ist, dann solltet ihr nun folgendes machen können:

1
2
3
4
5
6
7
apt-cache search subversion
libapache2-svn - Apache modules for Subversion (aka. svn)
libapr0 - The Apache Portable Runtime
libsvn0 - Shared libraries used by Subversion (aka. svn)
libsvn0-dev - Development files for Subversion (aka. svn) libraries
python2.1-subversion - Python modules for interfacing with Subversion (aka. svn)subversion
subversion-tools - Assorted tools related to Subversion (aka. svn)

Da nun die Pakete zur Verfügung stehen kann es ans installieren gehen.

 

Installation

Führt dazu einfach folgendes aus:

apt-get intall subversion

Dies sollte alle benötigten Pakete installieren. Achtet bitte auf eventuelle Fehler.

Die Installation sollte schon Ordnungsgemäß ablaufen. Da ich noch keine Probleme damit hatte kann ich da keine Tipps geben.

 

Konfiguration

Subversion Wurzel-Verzeichnis

Erstellt einen neuen Ordner der nicht zu tief in der Verzeichnisstruktur liegt. Am Besten unter /home

mkdir /home/svnroot

Darin sollte am Besten nichts manuell geändert werden. Da ganz schnell das svn nicht mehr gehen kann und die Dateien kaputt sind.

Dieses Verzeichnis sollte einem nicht root Benutzer gehöhren und einer Gruppe der die meissten Benutzer angehöhren. zB. hans:users

Nun muss noch das Wurzel-Verzeichnis aktiviert werden:

svnadmin create /home/svnroot

 

Projekt importieren

Nun müssen die Dateien oder das ganze Projekt an dem gearbeitet werden soll, in Subversion importiert werden. Erstellt euch einen neuen Ordner (zB. /home/benutzername/entwicklung) Darin einen Ordner mit dem selben Namen wie das Projekt heißen soll (zB. Homepage).

Unter diesem Namen wird dann später auf das Projekt, die Daten zugegriffen. Also wählt einen kurzen und griffigen Namen den man sich merken kann. In diesen Ordner kommen nun alle Dateien die nun zu diesem Projekt gehören.

Das sollte dann folgendermaßen aussehen:

/home/name/entwicklung
/projektname
/Ordner
/Dateien

Nun muss das Projekt nur noch in Subversion rein. Das geht mit folgendem Befehl:

Damit wäre das Projekt (zB. Homepage) in Subversion drin. Damit wäre es getan und das Projekt steht von nun unter der Versionskontrolle von Subversion.

 

Arbeitskopie erstellen

Damit nun an dem Projekt gearbeitet werden kann, muss sich jeder eine Arbeitskopie erstellen.

Dazu wird einfach auf dem Arbeitsrechner der folgende Befehl ausgeführt:

svn checkout svn+ssh://Benutzername@server_ip/svnrootpfad/projektname Zielverzeichnis

Dies öffnet eine ssh Verbindung zu dem Subversion Server.

Benutzername@server_ip
Benutzername mit dem man sich auf dem Server anmeldet
 
svnrootpfad
Der Pfad zum Subversion Wurzel-Verzeichnis auf dem Server
 
projektname
Name des Projektes, von dem man eine Arbeitskopie haben möchte
 
Zielverzeichnis
Ordner in den die Arbeitskopie hingespeichert werden soll

Hier ein Beispiel:

svn checkout svn+ssh://hans@12.34.58.33/home/svnroot/notizblock notizblock

Dieser Befehl erstellt eine Arbeitskopie von dem Projekt notitzblock und speichert dies dann unter dem Ordner notizblock ab. Nun kann an dieser Arbeitskopie gearbeitet werden.

 

Änderungen einspielen

Wenn nun an der Arbeitskopie gearbeitet wird und die Änderungen wieder in das Subversion Projekt eingespielt werden soll, damit die anderen Entwickler diese auch haben, dann sollte das nach folgenden Schritten ablaufen.

  1. In den Ordner wechseln in dem die Arbeitskopie gespeichert wurde.
  2. Die eigene Arbeitskopie auf den aktuellsten Stand bringen
  3. Entscheiden welche Änderungen eingespielt werden sollen.
  4. Änderungen mit einem Kommentar einspielen.

Hier nun die entsprechenden Befehle:

cd /Arbeitskopie/Verzeichnis
svn up
svn st
svn ci -m'Kommentar'

svn up Bringt seine Arbeitskopie auf den letzten Stand vom Subversion Server
svn st Zeigt die eigenen Änderungen an der Arbeitskopie an.
svn ci -m'Kommentar' Damit werden die Änderungen auf den Subversion Server eingespielt.

So damit wäre die Installation und die grundlegenden Schritte zum Arbeiten mit Subversion abgeschlossen.

 

Subversion Befehle

Hier eine kleine Übersicht der wichtigsten Befehle für Subversion.

svn Status (svn st) Zeigt Änderungen der Arbeitskopie an.
Sollte immer vor einem update gemacht werden.
svn update (svn up) Bringt die Arbeitskopie auf den neusten Stand.
svn commit [FILE] -m 'COMMET'
(svn ci [FILE] -m'COMMENT')
Lädt die Änderungen der Arbeitskopie in das Projekt auf den Server.
Wenn -m'COMMENT' nicht angegeben wird, wird der Systemkonsoleneditor gestartet und da wird um ein Kommentar gebeten.
svn add [FILE] Fügt Dateien und Ordner dem Projekt zu, da diese sonst nicht bei einem commit mitgespeichert werden. Also erster die Dateien die neu sind via svn add hinzufügen und dann ein svn commit machen.
svn remove FILE Entfernt eine Datei/ordner aus dem Projekt.
Wenn dies nicht gemacht wird, wird die gelöschte Datei einfach beim nächsten Update wieder hergestellt. Diese Datei wird nur aus der aktuellen Version entfernt. Sie ist immer noch in den früheren Versionen verfügbar.
svn move OLDFILE NEWFILE Verschiebt oder nennt Datei/Ordner um.
WICHITG: Dabei ist zu beachten, dass svn diese Änderungen auch für das Dateisystem macht und nicht nur in dem Subversion Projekt. Also nicht vorher die Dateien manuell ändern, denn dann beschwert sich Subversion.