Inhaltsverzeichnis
Egal welches Protokoll Sie verwenden, um auf das Projektarchiv zuzugreifen, Sie müssen jeweils mindestens ein Projektarchiv erstellen. Sie können dies entweder mit dem Subversion Kommandozeilen-Client oder mit TortoiseSVN tun.
Wenn Sie noch kein Subversion Projektarchiv erstellt haben, tun Sie dies jetzt.
Sie können ein Projektarchiv im FSFS Format oder im älteren Berkeley Database (BDB) Format erstellen. Das FSFS Format ist generell schneller, einfacher zu administrieren und es funktioniert auch auf Netzwerkfreigaben und Windows 98 ohne Probleme. Das BDB Format wurde als stabiler erachtet, weil es bereits länger in Gebrauch war, da aber FSFS mittlerweile auch schon mehrere Jahre intensiv genutzt wird, ist dieses Argument etwas schwach. Nähere Informationen zu den verschiedenen Formaten können Sie im Kapitel Choosing a Data Store im Subversion Buch nachlesen.
Erstellen Sie einen leeren Ordner mit dem Namen SVN (z.B. D:\SVN\), in welchem alle Projektarchive gespeichert werden.
Erstellen Sie einen weiteren Ordner MyNewRepository innerhalb von D:\SVN\.
In der Kommandozeile (auch DOS-Box genannt) wechseln sie zu D:\SVN\ und geben sie folgendes ein:
svnadmin create --fs-type bdb MyNewRepository
oder
svnadmin create --fs-type fsfs MyNewRepository
Nun haben Sie ein neues Projektarchiv in D:\SVN\MyNewRepository erstellt.
Öffne den Windows-Explorer
Erstellen Sie einen neuen Ordner und nennen Sie ihn zum Beispiel SVNRepository.
Rechtsklick auf einen neu erstellten Ordner und wählen Sie → .
Ein Projektarchiv wird dann in dem neuen Ordner erstellt. Editieren Sie diese Dateien nicht selbst. Falls Sie eine Fehlermeldung erhalten stellen Sie sicher, dass der Ordner leer und nicht schreibgeschützt ist.
TortoiseSVN unterstützt das Anlegen von BDB Projektarchiven nicht mehr. Sie können das jedoch weiterhin mit der SVN Kommandozeile tun. FSFS Projektarchive sind im Allgemeinen für den Anwender einfacher zu warten und machen es uns auch einfacher TortoiseSVN zu pflegen, da es Kompatibilitätsprobleme zwischen verschiedenen BDB Versionen gibt.
Zukünftige Versionen von TortoiseSVN werden den direkten file:// Zugriff auf BDB Projektarchive aufgrund dieser Kompatibilitätsprobleme nicht mehr unterstützen. Der Zugriff BDB Projektarchive auf einem Server über die svn://, http:// oder https:// Protokolle wird jedoch weiterhin unterstützt. Aus diesem Grund empfehlen wir, dass Projektarchive, auf die mittels file:// zugegriffen werden soll, nur noch im FSFS Format angelegt werden.
Grundsätzlich empfehlen wir allerdings auf die Verwendung des file:// Zugriffs, außer für lokale Testzwecke, zu verzichten. Die Verwendung eines Servers ist, außer vielleicht für Einzelanwender, generell sicherer und zuverlässiger.
Um das lokale Projektarchiv anzusprechen, benötigen Sie den Pfad zum Projektarchiv-Ordner. Beachten Sie, dass Subversion alle Projektarchivpfade in der Form file:///C:/SVNRepository/ benötigt.
Um ein Projektarchiv auf einer Netzwerkfreigabe anzusprechen können Sie entweder die Freigabe als Laufwerk verbinden oder den UNC-Pfad benutzen. UNC-Pfade haben die Form file://ServerName/Pfad/zum/Projektarchiv/. Beachten Sie, dass hier nur zwei Schrägstriche vor dem Servernamen stehen.
Vor Subversion 1.2, mussten UNC Pfade in dem obskuren Format file:///\ServerName/path/to/repos angegeben werden. Dieses Format wird weiterhin unterstützt, aber nicht empfohlen.
Erstellen Sie kein Berkeley DB Projektarchiv auf einer Netzwerkfreigabe oder greifen auf eine solche zu. Eine BDB darf nicht auf einer Netzwerkfreigabe sein! Auch nicht wenn die Netzwerkfreigabe als Laufwerk verbunden ist. Wenn Sie versuchen ein solches Projektarchiv zu verwenden wird dies zu unvorhersehbaren Effekten führen - Sie können mysteriöse Fehlermeldungen gleich zu Beginn erhalten, oder es können Monate vergehen ehe Sie feststellen dass das Projektarchiv korrupt und nicht mehr zu retten ist.
Obwohl es theoretisch möglich ist, ein FSFS Projektarchiv auf einer Netzwerkfreigabe anzulegen und mehrere Anwender per file:// Protokoll darauf zugreifen zu lassen, raten wir dringend davon ab.
Erstens geben Sie jedem Anwender direkten Schreibzugriff auf das Projektarchiv, so dass jeder Benutzer das Projektarchiv versehentlich löschen oder anderweitig unbrauchbar machen kann.
Zweitens unterstützen nicht alle Netzwerk Dateiprotokolle die Sperr- und Schutzmechanismen, die Subversion erfordert, so dass das Projektarchiv beschädigt werden kann. Das muss nicht sofort passieren, aber eines Tages werden zwei Anwender gleichzeitig auf das Projektarchiv zugreifen. Schlimmstenfalls bleibt die Beschädigung eine Zeit lang unbemerkt.
Drittes müssen die Dateizugriffsrechte stimmen. Auf einer reinen Windowsfreigabe können Sie sich vielleicht durchmogeln, aber SAMBA ist besonders schwierig einzurichten.
file:// Zugriff ist ausschließlich für lokalen Einzelbenutzerzugriff gedacht, speziell zum Testen und Debuggen. Wenn Sie das Projektarchiv gemeinsam nutzen wollen sollten Sie wirklich einen richtigen Server einrichten, und das ist nicht halb so kompliziert wie Sie vielleicht denken. Lesen Sie Kapitel 3, Einen Server einrichten als Anleitung zur Auswahl und Einrichtung eines Servers.
Bevor Sie Daten in das Projektarchiv importieren sollten Sie sich Gedanken darüber machen wie Sie Ihre Daten organisieren wollen. Wenn Sie eine der empfohlenen Strukturen verwenden, werden Sie es später sehr viel einfacher haben.
Es gibt ein paar empfohlene Standards um die Daten innerhalb eines Projektarchivs zu organisieren. Die meisten Leute erstellen einen trunk Ordner, der den „Stamm der Entwicklung“ enthält, einen branches Ordner, welcher Entwicklungszweige enthält und einen tags Ordner, der markierte Zustände enthält. Wenn ein Projektarchiv nur ein einziges Projekt enthält ist die folgende Struktur zu empfehlen:
/trunk /branches /tags
Falls ein Projektarchiv jedoch mehrere Projekte enthält, wird innerhalb der Struktur nach Zweigen (branches) organisiert:
/trunk/paint /trunk/calc /branches/paint /branches/calc /tags/paint /tags/calc
...oder nach Projekt:
/paint/trunk /paint/branches /paint/tags /calc/trunk /calc/branches /calc/tags
Nach Projekt zu organisieren ist sinnvoll, wenn diese nicht eng miteinander verwandt sind und jedes für sich bearbeitet wird. Für verwandte Projekte, die sie alle in einem Rutsch auschecken wollen oder die in einer Distribution zusammengefasst sind, ist es oft besser nach Zweigen zu organisieren. Auf diese Weise müssen Sie nur den Stamm (trunk) auschecken und die Beziehungen zwischen den Unterprojekten sind einfacher zu erkennen.
Wenn Sie eine /trunk /tags /branches Struktur wählen, müssen Sie lediglich den gesamten Stamm kopieren, um Zweige oder Marken zu erstellen. In vielen Punkten ist das der flexibelste Ansatz.
Für völlig unabhängige Projekte sollten Sie besser pro Projekt ein einzelnes Projektarchiv anlegen. Der Grund dafür ist, dass wenn Sie Änderungen übertragen, die Revisionsnummer des Projektarchivs, nicht des Projektes hoch gezählt wird. Bei mehreren unabhängigen Projekten, die sich ein Archiv teilen, kann das zu Konfusion führen, wenn z.B. an einem der Projekte überhaupt nicht gearbeitet wird, an anderen jedoch viel. TortoiseSVN und Subversion sind erscheinen auf demselben Host, sind aber völlig selbstständige Projekt(archiv)e, mit voneinander unabhängiger Entwicklung und ohne Verwirrung über Versionsnummern.
Natürlich können Sie diese Empfehlungen auch ignorieren. Es steht Ihnen frei, ein Layout zu wählen welches am besten für Sie oder Ihr Team geeignet ist. Beachten Sie auch, dass was immer für eine Wahl Sie treffen diese nicht fix ist. Sie können das Layout später immer noch reorganisieren. Weil Zweige (branches) und Markierungen (tags) gewöhnliche Ordner in Subversion sind, können Sie diese ganz einfach mit TortoiseSVN umbenennen oder verschieben wie Sie wollen.
Von einem Layout zu einem anderen zu wechseln ist lediglich eine Abfolge serverseitiger Umbenennungen; Wenn Ihnen die Art und Weise wie Dinge im Projektarchiv organisiert sind, nicht gefallen, jonglieren Sie einfach mit den Verzeichnissen herum.
Falls Sie noch keine Ordnerstruktur in Ihrem Projektarchiv angelegt haben, sollten Sie das jetzt erledigen. Es gibt zwei Möglichkeiten dafür. Falls Sie nur die einfache /trunk /tags /branches Struktur wünschen, können Sie diese in drei Schritten mit Hilfe des Projektarchivbetrachters anlegen. Wenn Sie eine tiefer verschachtelte Hierarchie wünschen, sollten Sie die zunächst auf der lokalen Platte anlegen und dann in, wie hier, einem Schritt importieren :
Erstellen Sie einen leeren Ordner auf Ihrer Festplatte
Erstellen Sie in diesem Ordner die gewünschte Ordnerstruktur - kopieren Sie noch keine Dateien hinein!
Importieren Sie diese Struktur durch Rechtsklick auf den obersten Ordner und Klick auf → in das Projektarchiv. Dies importiert Ihren Ordner in das Projektarchiv und erstellt dort die gewünschte Ordnerstruktur.
Beachten Sie dass der Name des Ordners welchen Sie importieren nicht im Projektarchiv erscheint, nur dessen Inhalt. Erstellen Sie zum Beispiel folgende Ordnerstruktur:
C:\Temp\New\trunk C:\Temp\New\branches C:\Temp\New\tags
Importieren Sie C:\Temp\New ins Projektarchiv, welches dann so aussieht:
/trunk /branches /tags