TRENZ : Integration von SVN-Projekten

Die genannten Menüpunkte folgen momentan noch der englischen Sprachversion von Visual Studio. Gerne dürfen die deutschen Äquivalente ergänzt werden!

 

Dieser Artikel behandelt die Überführung eines im SVN bereits vorliegenden (Visual-Studio-)Projektes in die Quellcodeverwaltung des TFS.

Das Vorgehen basiert übergangsweise auf der gleichzeitigen Verwendung von TFS und SVN, damit ggf. von TFS wieder zurück zu SVN gewechselt werden kann, ohne dass Änderungen verloren gehen. Durch die Verzahnung von TFS-Workspace-Verzeichnis und SVN-Checkout-Verzeichnis befinden sich die Projektdateien in der Folge gleichzeitig im "Einzugsbereich" zweier Versionierungssysteme. Daher muss zuzüglich zur in Visual Studio integrierten Codeverwaltung (über TFS) regelmäßig der Projektstand auch ins SVN commitet werden.

Abkürzungen

VS: Visual Studio

Voraussetzungen

  • Visual Studio mit bereits eingerichteter TFS-Anbindung.
  • Ein (noch leeres) Projekt wurde in TFS bereits angelegt.
  • Das leere Projekt liegt in Visual Studio als Eintrag vor.
    • in der Quellcodeverwaltung-Ansicht "Get latest version" wählen
  • Der TFS-Workspace wurde auf ein lokales Verzeichnis gemappt, das Workspace-Verzeichnis im obigen Sinne.
    • In der Quellcodeverwaltung steht oben rechts "Local Path", dieser kann durch Klick zugeordnet werden.
    • Die verwalteten Projekte/Dateien werden dann in diesem Ordner gemäß der TFS-Ordnerstruktur angelegt.
    • Bestehende Mappings können in der Quellcodeverwaltung durch Rechtsklick auf den Wurzelknoten der Baumstruktur geändert/entfernt werden.
      • Advanced -> Remove mapping (erlaubt auch Anpassungen)

Vorgehen

  1. Auf der gewünschten Ordnerebene einen Branch des aktuellen SVN-Standes erstellen. Auf diese Weise besteht eine sauberere Trennung, welche Änderungen über/durch TFS vorgenommen wurden. Weiterhin können (im Notfall) Änderungen auch im SVN gemacht werden, die unabhängig vom TFS-Repository laufen.   
    1. Beispiel: Branch vom aktuellen Stand "FKP_BKS" zum abgeleiteten Stand "FKP_BKS_TFS".
  2. Den neu erstellten Branch im Zielverzeichnis des TFS-Workspaces auschecken.Um die Integration weiterer und zukünftiger Projekte, externer Prozesse etc. zu ermöglichen, sollte eine zumindest rudimentäre Ordnerstruktur vorgesehen werden - also nicht die SVN-Struktur unmittelbar ins TFS-Projektverzeichnis ausgecheckt werden.
    1. Beispiel: "FKP_BKS_TFS" in TFS-Pfad "Workspace\Bookingsystem 2.2\FKP_BKS_TFS" auschecken.
  3. Sofern für das zu migrierende Projekt eine Solution (Visual Studo-Projektmappe) oder eine Projektdatei vorliegt, kann diese nun in VS geöffnet werden, ansonsten müssen die Dateien manuell hinzugefügt werden, siehe Schritt 4.
    1. Solution und/oder Projekt können durch Rechtsklick in der VS-Projektstruktur auf den zugehörigen Knoten hinzugefügt werden.
      1. Source Control -> Add to source control... (ggf. auch bereits als Menüpunkt auf der obersten Ebene)
      2. TFS-Versionierung wählen (anstatt Git)
      3. ggf. Zielverzeichnis entsprechend der angedachten Struktur wählen
  4. Weitere Dateien, die nicht in der Solution enthalten sind, können über Drag & Drop in die Baumstruktur der Quellcodeverwaltung-Ansicht hinzugefügt werden.
    1. Dies betrifft z.B. Dev-Skripte.
  5. Die so erstellte Ordnerstruktur kann abschließend über "Check in" in das TFS-Repository  überführt werden. Hierzu sollten alle gelisteten Änderungen überflogen und ein aussagekräftiger Kommentar vergeben werden. Sofern eine zugehörige Aufgabe erstellt wurde, kann diese über die ID der Aufgabe referenziert werden.
  6. Nun können die durch Visual Studio vorgenommenen Änderungen (im Wesentlichen Änderungen an Solution und Projektdatei zwecks Rekonfiguration für TFS) wiederum ins SVN übernommen werden, in dem im zugehörigen Workspace-Unterverzeichnis regulär ein Commit angestoßen wird.
    1. Etwaig neu erstellte Konfigurationsdatein, insbesondere mit Endung .vssscc sind User-bezogen und sollten daher zur Vermeidung von Konflikten und Fehlkonfigurationen i.d.R. nicht ins SVN aufgenommen werden.
  7. Änderungen an den Quelltextdateien können nun aus Visual Studio heraus vorgenommen und dort auch direkt commitet werden ("Check in", s.o.). Da die Dateien gleichzeitig in SVN registriert sind, können sie anschließend auch dort committet werden. Im Bedarfsfall können sie in den ursprünglichen Branch (im Beispiel "FKP_BKS") zurückgemergt werden.