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

Alte Version

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

Diese Version wurde von christian am 15. July 2008 um 14:33 Uhr erstellt.
Bemerkung des Bearbeiters: hoster

Ä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:



DevjaVu
SVN, Trac, Wiki
BountySource
SVN, Task Tracker, CMS, File Hosting
Assembla
SVN, Trac, Wiki, File Hosting
Google Code
Für Open Source Projekte
SourceForge
Für Open Source Projekte
berliOS
Für Open Source Projekte

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 unabhängig
Ein auf QT-basierender Client
Versions Mac OS X

ZigVersion Mac OS X

Desktop intigriert

Name Plattform
Besonderheiten
TortoiseSVN
Win2k SP4, WinXP, Vista oder neuer
Windows Shell Erweiterung
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

Arbeitsablauf

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.

Ä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 der lokalen Arbeitskopie hinzuzufügen führt man den add Befehl aus.

Datei/Ordner entfernen

Datei/Ornder verschieben

Datei/Ordner kopieren

Änderungen hinzufügen

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

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.