Sprache:
Suchen
HomeSitemapDatenschutzImpressumAGB

Perforce Migration

Im folgenden werden Features und Einschränkungen der Perforce-Zu-TFS Migrationslösung beschrieben.

Konzeptuelle Unterschiede zwischen Perforce und TFS

Die Hauptunterschiede zwischen beiden Systemen betreffen die Groß-Kleinschreibung von Dateipfaden (im Falle von Unix-basierten Perforce-Systemen) und die Behandlung von Verzeichnissen welche im folgenden beschrieben ist.

Perforce

  1. Unterstützt Dateien als versionierte Elemente der Versionsverwaltung
  2. Verzeichnisse sind implizit durch Dateipfade gegeben und keine expliziten Elemente der Versionsverwaltung.
  3. Verzeichnisoperationen (z.B. Umbenennen) werden als Dateioperationen der enthaltenen Dateien behandelt.

TFS

  1. Unterstützt Dateien als versionierte Elemente der Versionsverwaltung
  2. Unterstützt Verzeichnisse als versionierte Elemente der Versionsverwaltung
  3. Verzeichnisoperationen sind atomare Operationen und werden direkt eingecheckt.

Übernahme der kompletten oder partiellen Historie

Bei einer Migration von einem Perforce-Repository nach TFS werden die Eincheck-Vorgänge aus Perforce auf TFS-Seite nachgestellt. Damit ergibt sich eine neue Eincheck-Zeit im TFS, die von der ursprünglichen abweicht (siehe Spalte Date in der unteren Abbildung). Daher wurde neben dem ursprünglichen Eincheck-Kommentar auch der Originialzeitstempel des Check-ins in den Kommentar im TFS übernommen (siehe Spalte Comment in der unteren Abbildung). Der ursprüngliche Benutzer, der den Check-in durchgeführt hat, wird bei der Migration ebenfalls übernommen. Dazu kann ein Mapping konfiguriert werden, welches die Perforce-Benutzerkonten auf dei im TFS verwendeten Windows-Benutzer abbildet (Spatle User in der unteren Abbildung).

Die Art der Operationen sowie die Branch-Beziehungen bleiben soweit wei möglich erhalten (es gibt Einschränkungen beim Branchen einer Datei in mehrere Zielzweige innerhalb einer Perforce-Changelist). Das zeigt die Spalte Change in der obigen Abbildung. Die Changelist werden 1:1 als Changeset übernommen – die Transaktionssicherheit ist gegeben. Die folgende Abbildung zeigt das oben markierte migrierte Changeset 17 im Detail.

In den Changeset-Details wird deutlich, dass neben dem ursprünglichen Kommentar noch weitere Metadaten zur Migration, wie z.B. der IP bzw. dem Namen des migrierten Repository, übertragen werden.

Gelöschte Objekte

Zu den typischen Operationen gehört neben Add, Edit, Branch und Merge auch Delete. Unsere Migrationslösung migriert ebenfalls gelöschte (nicht gepurgete) Elemente wie die untere Abbildung zeigt.

Labels

Auch Labels werden übernommen. Labels im TFS sind Namen für Zusammenstellungen unterschiedlicher Versionen einer Menge von Dateien und Verzeichnissen und können unter anderem über die Historie eines Elements abgefragt werden. Die untere Abbildung zeigt die Liste der Labels für einen Branch.

Übernahme der Branch-Beziehungen

Wichtiger Bestandteil der Migration sind die Branch-Beziehungen des Quell-Repository. Diese sind für künftige Integrationen unbedingt notwendig. Unsere Migrationslösung übernimmt die Branch-Beziehungen aus Perforce. Um die unten dargestellte Visualisierung der Änderungen zu ermöglichen müssen im Anschluss an die Migration lediglich die Wurzelverzeichnisse der migrierten Branches im TFS zu sogenannten Branch-Folders erhoben werden. Dies erfolgt einmalig mit 3 Klicks im Visual Studio.

Einschränkungen bei der Migration

Einschränkungen bei der Migration betreffen vor allem Datei- und Verzeichnisnamen in Unix-basierten Perforce-Repositories, die nicht konform zum Windows-Dateisystem sind. Das sind Sonderzeichen (z.B. sind $-Zeichen nicht als erstes Zeichen in Dateinamen zugelassen) aber auch zu lange Pfade (über 260 Zeichen).

Ansprechpartner


Franz Mattes
+49 (711) 49066430
E-Mail schreiben