Standard-Verzeichnisse

Grundsätzlich kann man in ein Repository eine beliebigen Verzeichnisstruktur aufbauen. In der Regel wird die aus CVS gewohnte Grundstruktur übernommen im Wurzelverzeichnis des Repositorys drei Verzeichnisse zu erstellen:

trunk

Trunk bedeutet auf Deutsch „Stamm“, in diesem Verzeichnis befindet sich also die Stamm-Version: der Hauptentwicklungszweig. Oft bearbeiten die meisten Entwickler ausschließlich die Dateien aus diesem Verzeichnis.

Achten Sie daher hier darauf, dass jede hochgeladene Version fehlerfrei kompiliert und auch möglichst gut funktioniert.

tags

Besondere Versionen werden in dieses Verzeichnis kopiert, z.B. Versionen, die an Kunden ausgeliefert wurden oder besondere Zwischenstände, wie eine Version 1.0. Eine solche Kopie wird mittels des Befehls ‘svn copy’ angelegt, dabei wird jedoch keine echte Kopie erstellt, sondern lediglich speichersparende Verweise angelegt, die auf die Datei zeigen in der entsprechenden Revision.

branches

Wird gleichzeitig eine zweite Version parallel entwickelt, die die Trunk-Version nicht stören soll oder die durch die Trunk-Version nicht gestört werden soll, so zweigt man eine zusätzliche Version ab, die man parallel weiterentwickeln kann. Wie beim Tags-Verzeichnis wird die zu bearbeitende Version in einen eigenen Entwicklungszweig kopiert und der jeweilige Programmierer oder das zuständige Team entwickeln diesen neuen Zweig unabhängig zur Trunk-Version weiter.

Abzweigungen sind sinnvoll, um Fehler zu beseitigen, ohne, dass sich die fehlerhafte Version laufend durch Commits anderer Entwickler ändert. Gleichzeitig kann die Stammversion normal weiterentwickelt werden, sofern der Fehler für andere Entwickler nicht kritisch ist. Der Bugfix wird später wieder durch sogenanntes Merging in den Stamm eingepflegt.