Buy Online Medicines & Health Products from Budachem.com, Version 25

Alte Version

Dies ist eine alte Version des Inhalts in unserem Archiv. Besuchen Sie die aktuelle Version dieser Seite.

Diese Version wurde von Martin Krüger am 8. Jan. 2015 um 12:41 Uhr erstellt.
Bemerkung des Bearbeiters: Link zu RB Media Group korrigiert

Änderungen gegenüber vorheriger Version anzeigen


Subversion (SVN) ist eine Software zur Versionsverwaltung und Organisation von Daten, Verzeichnissen und Dateien. Die Stärken von SVN kommen besonders bei Projekten zu Tage, an denen mehrere Personen arbeiten. Dann können mit Hilfe von Subversion die einzelnen Projektdateien synchronisiert oder auch zusammengefügt werden.

SVN Hoster

Um mit SVN arbeiten zu können benötigt man natürlich einen SVN-Server. Da meistens aber nur Webspace vorhanden ist und man auf diesem keine Software installieren kann muss man auf einen anderen Hoster zurückgreifen. Die Folgenden sind alle kostenlos:


Besonderheiten
DevjaVu
Trac, Wiki
BountySource
Task Tracker, CMS, File Hosting
Assembla
Trac, Wiki, File Hosting
Origo
Wiki, Forum, Blog, Bugtracker, File Hosting
Google Code
Für Open Source Projekte
SourceForge
Für Open Source Projekte
berliOS
Für Open Source Projekte
RB Media Group
Wiki, Forum, Blog, Bugtracker, File Hosting

SVN Server einrichten

Es wurde ein neuer Artikel erstellt in dem die Einrichtung eines SVN-Servers detailliert beschrieben werden kann. Dieser Artikel ist in der ersten Version noch nicht veröffentlicht worden kann aber bearbeitet werden. Sobald die ersten nennenswerten Änderungen vorgenommen wurden sollte dieser Artikel natürlich veröffentlicht werden und hier der To-Do-Block durch einen einfach Link ersetzt werden.

Hier gehts zum Artikel: --> Kann den Artikel nicht finden. Wo soll dieser sein? (Fabian)

SVN Clients

Der Markt für Subversion-Clients ist in den letzten Jahren immens gewachsen. Generell kann man zwischen drei verschiedenen Arten von Clients unterscheiden. Stand-Alone Clients sind eigene Programme die in keinerlei andere bestehende Software integriert werden. Desktop-Integrierte Clients sind Programme die sich im Betriebssystem integrieren um beispielsweise den Windows Explorer nutzen, um die SVN Dateien zu bearbeiten, synchronisieren und zu durchsuchen. Die dritte Möglichkeit besteht darin Subversion in einer IDE zu integrieren. Dadurch lässt sich Subversion direkt aus der Entwicklungsumgebung aus nutzen.

Stand-Alone Clients

Name
Plattform
Besonderheiten
eSvn Windows, Mac OS X und Unix ähnliche
Ein auf QT basierendes GUI
rapidSVN
Windows, Mac OS/X und Unix ähnliche
Ein auf wxWidgets basierendes GUI
Versions Mac OS X
ZigVersion Mac OS X

Desktop integriert

Name Plattform
Besonderheiten Screenshot
TortoiseSVN
Windows (2000 SP4, XP, Vista, 7 (x86/x64) oder neuer)
Windows Shell Erweiterung
TortoiseSVN
SCPlugin Mac OS X
KSvn Linux
Konqueror-integrated

IDE Plugins

Name IDE
Subclipse Eclipse
Subversive Eclipse
AnkhSVN Microsoft Visual Studio
VisualSVN Microsoft Visual Studio .NET 2003 & 2005
Aigenta Unified SCC MSSCCI-kompatible Programme wie z.B. Microsoft Visual Studio
WLW-SVN WebLogic Workshop (8.1.3/8.1.4)
CW Subversion Metrowerks CodeWarrior

Allgemein

Erklärung von Begriffen wie Arbeitskopie und Repository...

Tags und Branches

Arbeitsablauf

Einleitenden Text hinzufügen

Arbeitskopie aktualisieren

Mit dem update Befehl synchronisiert man die lokale Arbeitskopie mit dem Repository. So erhält man die Änderungen anderer Benutzer. Diesen Befehl sollte man ausführen bevor man etwas ändern möchte. Als Ausgabe erhält man eine Liste aller Änderungen.

 
Text
1
2
3
4
$ svn update
U  foo.php
A  bar.php
Updated to revision 12.

Die Art der Änderung wird mittels eines Zeichens vor der entsprechenden Datei gekennzeichnet.

Zeichen
Bedeutung
U
Eine Datei wurde aktualisiert.
A
Eine neue Datei oder ein neuer Ordner wurde der Arbeitskopie hinzugefügt.
D
Eine Datei oder ein Ordner wurde aus der Arbeitskopie entfernt.
R
Eine Datei oder ein Ordner wurde ersetzt.
G
Die Datei wurde lokal und serverseitig bearbeitet. Die beiden Dateien wurden zusammengefügt.
C
Die Datei wurde lokal und serverseitig bearbeitet. Konnte jedoch nicht zusammengefügt werden da Überschneidungen auftraten. In diesem Fall muss man das Zusammenfügen manuell machen.

Änderungen vornehmen

Nachdem man die Arbeitskopie mit update auf den neuesten Stand gebracht hat, kann man Änderungen vornehmen. Diese Änderungen werden zunächst nur lokal vorgenommen und wirken sich erst beim nächsten commit auf das Repository aus. Dazu später mehr.

Datei/Ordner hinzufügen

Um einen Ordner oder eine Datei hinzuzufügen führt man den add Befehl aus.

 
Text
1
2
$ svn add foo.bar
A         foo.bar
Datei/Ordner entfernen

Um einen Ordner oder eine Datei zu entfernen führt man den delete Befehl aus.

 
Text
1
2
$ svn delete foo.bar
D         foo.bar
Datei/Ordner verschieben

Datei/Ordner kopieren/exportieren

 
Text
1
svn export -r "Revision(z.B. HEAD)" "Repository/Datei" "Zielordner/Dateiname"

Arbeitskopie zurücksetzen

Möchte man eine lokale Arbeitskopie zurücksetzen benutzt man den revert Befehl. Dieser ersetzt die Datei mit der unveränderten Datei im Cache. Es wird dafür keine Verbindung zum Server benötigt.

Änderungen hinzufügen

Um Änderungen an der lokalen Arbeitskopie dem Repository hinzuzufügen benutzt man den commit Befehl.

Revisionen vergleichen (Standard-Diff)

Log-Datei einer Revision auslesen

 
Text
1
svn log "Pfad zum Repository/Dateiname" -q