Komfortabler Dateimanager mit vielen Funktionen

Projektstruktur

By Sven on 04.08.2008 - 10:00 in Alltägliches

Seit der Entwicklung von SpeedCommander 9 und Squeez 4 verwende ich ein gemeinsames Bibliotheksverzeichnis für SpeedCommander und Squeez, da wesentliche Komponenten von beiden Anwendungen verwendet werden. Damit bei der Entwicklung einer neuen Hauptversion keine Kollateralschäden bei den alten Versionen auftauchen, wird für die neue Version auch ein neuer eigenständiger Bibliothekszweig eingerichtet. In Visual SourceSafe sah dies folgendermaßen aus:

Projektstruktur in SourceSafe

Mit dem Umstieg auf Subversion bzw. TFS war hier eine Anpassung nötig, da Verzweigungen mit der vorhandenen Struktur nur schwer möglich waren. Normalerweise legt man ja alles zu einem Projekt dazugehörige unter einem einzelnen Projektnamen ab und kann dann bequem neue Versions- oder Entwicklungszweige einrichten. Durch die von SpeedCommander und Squeez gemeinsam verwendeten Bibliotheken gestaltete sich das bei mir aber etwas schwieriger.

Nach längerem Überlegen habe ich mich dann dafür entschieden, das Bibliotheksverzeichnis auf der gleichen Ebene wie die Anwendungen einzurichten. Das Einrichten neuer Versions- und Entwicklungszweige sowie das Zusammenführen geschieht nun zwar doppelt (jeweils für Bibliotheken und Projekt), man gewöhnt sich aber recht schnell daran. Die neue Projektstruktur sieht nun wie folgt aus:

Projektstruktur in TFS

Alle Bezüge vom Projekt- zum Bibliotheksverzeichnis sind nun relativ, es werden keine festen Pfad- bzw. Versionsangaben mehr verwendet. Damit gestalten sich neue Verzweigungen sehr viel einfacher und sie lassen sich anschließend ohne Änderungen gleich kompilieren.

Die erzeugten Bibliotheks-Dlls werden alle im lib-Verzeichnis abgelegt, die Anwendungen entsprechend ihrer Konfiguration unterhalb ihres Projektordners. Dank den projektspezifischen Umgebungsvariablen laden die Anwendungen automatisch immer die richtigen Dlls. Da sich der Bezug auch nach einer Verzweigung nicht ändert, muss man sich in Zukunft um den richtigen Pfad keine Gedanken mehr machen.

Zusätzlich zum Projekt- und Releasezweig habe ich noch einen Entwicklungszweig eingerichtet. Hier kann ich schon Neuerungen für die nächste SC-Hauptversion einbauen, ohne den aktuellen SC12-Zweig zu beschädigen. Im SC12-Zweig behobene Fehler lassen sich einfach mit drei Mausklicks in den SC13-Zweig übernehmen, sofern es keine Konflikte gibt. Mitte nächsten Jahres wird dann der SC13-Zweig mit dem aktuellen SC12-Zweig zusammengeführt.

Es können keine Kommentare abgegeben werden.

Top