Kapitel 3. Das Projektarchiv

Inhaltsverzeichnis

Projektarchiv erstellen
Ein Projektarchiv mit dem Kommandozeilen-Client erstellen
Erstellen eines Projektarchivs mit TortoiseSVN
Lokaler Zugriff auf das Projektarchiv
Projektarchiv auf einer Netzwerkfreigabe
Struktur des Projektarchivs
Projektarchiv sichern
Serverseitige Aktionsskripte
Auschecken aus Webseiten
Zugriff auf das Projektarchiv

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.

Projektarchiv erstellen

Ein Projektarchiv mit dem Kommandozeilen-Client erstellen

  1. Erstellen Sie einen leeren Ordner mit dem Namen SVN (z.B. D:\SVN\), in welchem alle Projektarchive gespeichert werden.

  2. Erstellen Sie einen weiteren Ordner MyNewRepository innerhalb von D:\SVN\.

  3. Starten Sie die Kommandozeile (oder DOS-Box), wechseln Sie nach D:\SVN\ und geben Sie folgendes ein:

    svnadmin create --fs-type fsfs MyNewRepository
    

Nun haben Sie ein neues Projektarchiv in D:\SVN\MyNewRepository erstellt.

Erstellen eines Projektarchivs mit TortoiseSVN

Abbildung 3.1. Das TortoiseSVN Menü für unversionierte Ordner

Das TortoiseSVN Menü für unversionierte Ordner

  1. Öffnen Sie den Windows-Explorer

  2. Erstellen Sie einen neuen Ordner und nennen Sie ihn zum Beispiel SVNRepository.

  3. Nach Rechtsklick auf den neu erstellten Ordner wählen Sie TortoiseSVNProjektarchiv hier erstellen....

    Nun wird ein Projektarchiv in dem neuen Ordner erstellt. Bearbeiten Sie diese Dateien nicht selbst!. Falls Sie eine Fehlermeldung erhalten, stellen Sie sicher, dass der Ordner leer und nicht schreibgeschützt ist.

    Sie werden auch gefragt werden, ob Sie eine Verzeichnisstruktur im Projektarchiv erstellen möchten. Erfahren Sie mehr über Layout-Optionen in „Struktur des Projektarchivs“.

    TortoiseSVN wird den Ordner mit einem benutzerdefinierten Symbol versehen, wenn es ein Projektarchiv erstellt; so können Sie lokale Projektarchive leichter erkennen. Wenn Sie ein Projektarchiv mit dem offiziellen Befehlszeilen-Client erstellen, wird dieses Ordnersymbol nicht zugewiesen.

Tipp

Grundsätzlich raten wir von der Verwendung des Zugriffs per file:// ab, es sei denn für lokale Testzwecke. Die Verwendung eines Servers ist, außer vielleicht für Einzelanwender, generell sicherer und zuverlässiger.

Lokaler Zugriff auf das Projektarchiv

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 2 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.

Projektarchiv auf einer Netzwerkfreigabe

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 aus mehreren Gründen 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.

  • Wenn eine Person einen neueren Client installiert und dieser das Format des Projektarchivs hochstuft, können alle anderen so lange nicht auf das Projektarchiv zugreifen, bis sie ebenfalls auf die neuste Clientversion aktualisiert haben.

Der Zugriff per file:// 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 annähernd so kompliziert wie Sie vielleicht denken. Lesen Sie „Zugriff auf das Projektarchiv“ als Anleitung zu Auswahl und Einrichtung eines Servers.

Struktur des Projektarchivs

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 für die Stammentwicklung, einen branches-Ordner für die Entwicklungszweige und einen tags-Ordner zum Markieren von Ständen. Wenn ein Projektarchiv nur ein einziges Projekt enthält, ist die folgende Struktur zu empfehlen:

/trunk
/branches
/tags
    

Da dieses Layout so häufig benutzt wird, schlägt Ihnen TortoiseSVN beim Erstellen eines neuen Projektarchivs vor, diese Struktur anzulegen.

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 die Projekte 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 auschecken und die Beziehungen zwischen den Unterprojekten sind einfacher zu erkennen.

Wenn Sie die Struktur /trunk /tags /branches wählen, müssen Sie lediglich den gesamten Stamm kopieren, wenn Sie Zweige oder Marken erstellen, und in gewisser Weise 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 zum Beispiel, erscheinen auf dem selben Server (tigris.org), 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 Marken (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, wie hier, in einem Schritt importieren :

  1. Erstellen Sie einen leeren Ordner auf Ihrer Festplatte

  2. Erstellen Sie in diesem Ordner die gewünschte Ordnerstruktur - kopieren Sie noch keine Dateien hinein!

  3. Importieren Sie diese Struktur durch Rechtsklick auf den obersten Ordner und Auswahl von TortoiseSVNImportieren... in das Projektarchiv. Im Import-Dialog geben Sie die URL des Projektarchivs ein und bestätigen mit OK. Dies importiert Ihren Ordner in das Projektarchiv und erstellt dort die gewünschte Ordnerstruktur.

Beachten Sie bitte, dass der Name des Ordners, den Sie importieren nicht im Projektarchiv erscheint, sondern nur seine Inhalte. Erzeugen Sie z.B. folgende Ordnerstruktur:

C:\Temp\New\trunk
C:\Temp\New\branches
C:\Temp\New\tags

Importieren Sie C:\Temp\New in die Wurzel des Projektarchiv, die dann folgendermaßen aussehen wird:

/trunk
/branches
/tags