Freigeben über


Migrieren von Visual SourceSafe

Aktualisiert: November 2007

Visual SourceSafe ist ein Quellcodeverwaltungstool für professionelle Softwareentwickler. Weitere Informationen zu Visual SourceSafe finden Sie unter Quellcodeverwaltung für Visual Studio. Team Foundation ist ein Client/Server-Quellcodeverwaltungssystem, das mithilfe eines .NET-Webdiensts auf Elemente in einer SQL Server-Datenbank zugreift. Die Architektur der Team Foundation-Quellcodeverwaltung ermöglicht eine höhere Leistung und größere Zuverlässigkeit.

Das Team Foundation-Konvertertool für Visual SourceSafe überträgt Dateien, Ordner, Versionsgeschichte, Bezeichnungen und Benutzerinformationen von einer Visual SourceSafe-Datenbank zur Team Foundation-Versionskontrolle. Bevor Sie Dateien und Informationen zur Versionsgeschichte in Team Foundation verschieben, sollten Sie eine Sicherungskopie der Visual SourceSafe-Datenbank analysieren, möglichst viele Dateien einchecken und verstehen, welche Informationen nicht von Visual SourceSafe zu Team Foundation übertragen werden können.

Unterschiede zwischen Team Foundation und Visual SourceSafe

Mit Visual SourceSafe und Team Foundation-Versionskontrolle können Sie die gleichen grundlegenden Aufgaben ausführen:

  • Gleichzeitiges Entwickeln mehrerer Versionen eines Produkts

  • Ändern einer veröffentlichten Version eines Produkts ohne Auswirkungen auf andere Versionen

  • Schnelles Abrufen einer Reihe verwandter Dateien

  • Bestimmen des Urhebers und des Datums einer Änderung

  • Vergleichen von Revisionen einer Datei

  • Übertragen von Änderungen von einer Version auf eine andere Version

Die Clientschnittstellen der Team Foundation-Versionskontrolle wurden so entworfen, dass Visual SourceSafe-Benutzer mit ihnen vertraut sind. Beide Produkte bieten einen Befehlszeilenclient und Microsoft Visual Studio Team System-Integration. Im Gegensatz zu Visual SourceSafe verfügt Team Foundation-Versionskontrolle über keine eigene Benutzeroberfläche.

Trotz vieler Ähnlichkeiten weisen jedoch Team Foundation und Visual SourceSafe grundlegende Unterschiede auf. Dieses Thema besteht aus zwei Hauptabschnitten, in denen diese Unterschiede erläutert werden:

Im Abschnitt Unterschiede in der Architektur werden die Unterschiede in Technologie und Ausführung von Team Foundation und Visual SourceSafe beschrieben.

Im Abschnitt Funktionsunterschiede werden Features aufgelistet, die in dem einen Produkt, jedoch nicht im anderen Produkt vorhanden sind, geringfügige Featureänderungen beschrieben, Standardeinstellungen angegeben, die sich je nach Produkt unterscheiden, und es wird erläutert, wie diese Änderungen einem Team die effizientere Verwendung von Team Foundation ermöglichen.

Unterschiede in der Architektur

SourceSafe Explorer und das Plug-In für Visual Studio lesen aus einer Visual SourceSafe-Datenbank und schreiben in diese. Bei dieser Datenbank handelt es sich um eine Auflistung von Dateien, die i. d. R. in einem freigegebenen Netzwerkordner gespeichert werden.

Sicherheit und Projektrechte

Die Benutzerrechte und Zuweisungen von Visual SourceSafe, die Sie in Visual SourceSafe Administrator festlegen, sind nicht von den Windows-Freigabeberechtigungen für den Visual SourceSafe-Datenbankordner abhängig. Sie können Rechte und Zuweisungen für bestimmte Visual SourceSafe-Projekte oder einzelne Visual SourceSafe-Benutzer festlegen, jedoch müssen allen Visual SourceSafe-Benutzern dieselben Berechtigungen für den Visual SourceSafe-Datenbankordner gewährt werden. Darum können alle Visual SourceSafe-Benutzer, unabhängig von ihren mit Visual SourceSafe Administrator festgelegten Rechten auf Projektebene, auf die freigegebenen Ordner zugreifen, und sie verfügen über Vollzugriff auf alle Visual SourceSafe-Daten.

In Team Foundation sind benutzerspezifische Nutzungsberechtigungen und Zugriffsrechte auf Projektebene mit Windows-Benutzerkonten verknüpft. Durch Internet Information Server erfolgt eine sichere Benutzerauthentifizierung. Es ist nicht erforderlich, einzelnen Benutzern, die Quellcodeverwaltungsoperationen ausführen, einen eigenen Zugriff auf die SQL Server-Datenbank zu gewähren. Daher ist die Sicherheitsinfrastruktur von Team Foundation robust, sicher und leicht zu verwalten.

Zuverlässigkeit

Da Visual SourceSafe über keine Serverkomponente verfügt, sind Operationen, bei denen Daten vom Client an die Datenbank übertragen werden, nicht transaktional. Das bedeutet, dass für eine Operation kein Rollback ausgeführt werden kann, wenn ein Problem auftritt. In den seltenen Fällen, in denen während eines Schreibvorgangs ein Problem auftritt, z. B. die Unterbrechung einer Netzwerkverbindung, kann die Integrität der betroffenen Dateien gefährdet werden, und Informationen können verloren gehen.

Team Foundation ist eine Client-Server-Anwendung, in der Schreibvorgänge in der Datenbank mithilfe gespeicherter Prozeduren erfolgen, auf die sich Netzwerkverbindungsprobleme nicht auswirken. Darüber hinaus werden für die Ausführung bestimmter Vorgänge Transaktionen verwendet, sodass ein Rollback für sie ausgeführt werden kann, falls ein Fehler auftritt. Diese Architektur verhindert, dass die Quelldateien unwissentlich beschädigt werden. Sie stellt außerdem sicher, dass Gruppen von Dateien mit abhängigen Änderungen gemeinsam und gleichzeitig als mutmaßlich ordnungsgemäß getestetes Changeset an den Quellcodeverwaltungsserver übergeben werden.

Skalierbarkeit

Team Foundation unterstützt Teams von bis zu 2.000 Benutzern, während Visual SourceSafe für Teams von bis zu zwanzig Benutzern empfohlen wird. Team Foundation-Server können so viele Daten speichern, wie eine SQL Server-Datenbank zulässt (Terabytes) und die Hardware unterstützt, während die empfohlene maximale Größe für eine Visual SourceSafe-Datenbank 4 GB beträgt.

Funktionsunterschiede

Changesets

Im Prinzip sind die internen Strukturen einer Visual SourceSafe-Datenbank und eines Team Foundation-Quellcodeverwaltungsservers ähnlich. Beide Datenbanken und Server sind hierarchisch aufgebaut. Ordner enthalten Dateien. Dateien bestehen aus Versionen, die nach Nummer und Datum/Uhrzeit der Erstellung identifiziert werden.

In Team Foundation ist ein Konzept mit der Bezeichnung Changeset implementiert. Dieses Konzept ist in Visual SourceSafe nicht vorhanden. Ein Changeset ist ein logischer Container, in dem Team Foundation alle Elemente für einen einzelnen Eincheckvorgang speichert, wie Dateirevisionen und Ordnerrevisionen, Links zu zugehörigen Arbeitsaufgaben, Eincheckhinweise, einen Eincheckkommentar und andere Informationen, z. B. wer die Änderung durchgeführt hat. Weitere Informationen hierzu finden Sie unter Arbeiten mit Changesets der Versionskontrolle.

Freigeben und Festhalten

In Team Foundation sind keine Befehle verfügbar, die den Features Freigeben oder Festhalten von Visual SourceSafe entsprechen. Wenn Sie Visual SourceSafe-Projekte zu Team Foundation migrieren, werden festgehaltene Elemente in einer Visual SourceSafe-Datenbank durch Bezeichnungen ersetzt.

Unterschiede beim Speichern der Versionsgeschichte in Team Foundation

In Visual SourceSafe und Team Foundation wird die Versionsgeschichte für die folgenden Aktionen unterschiedlich gespeichert.

  • Hinzufügen und erstellen   In Visual SourceSafe wird beim Hinzufügen einer Datei oder eines Ordners eine Version des übergeordneten Elements sowie ggf. der Datei erstellt. In der Versionsgeschichte des übergeordneten Elements wird die Aktion als "hinzufügen" und in der Dateiversionsgeschichte als "erstellen" aufgezeichnet. In Team Foundation wird beim Hinzufügen einer Datei oder eines Ordners lediglich eine Version der Datei bzw. des Ordners selbst mit einer Aktion "hinzufügen" erstellt. Für diese Aktion wird keine Version des übergeordneten Elements erstellt.

  • Umbenennen, löschen und wiederherstellen   In Visual SourceSafe wird mit diesen Aktionen eine neue Version des übergeordneten Elements erstellt. In Team Foundation wird dagegen eine neue Version des Elements selbst erstellt.

  • Verschieben   Wenn Sie in Visual SourceSafe einen Ordner verschieben, werden neue Versionen des übergeordneten Quell- und Zielordners erstellt und für jedes übergeordnete Element Aktionen aufgezeichnet, mit denen der Ordner in oder aus dem übergeordneten Element verschoben wird. Es wird keine Version für Ordner O erstellt. Wenn Sie z. B. den Ordner O aus der Quelle Q in Ziel Z verschieben, wird eine neue Version von Z mit der Aktion "$O von Q verschoben" und eine neue Version von Q mit der Aktion "$O nach Z verschoben" erstellt. In Team Foundation wird nur eine neue Version von O mit der Aktion "Umbenennen" erstellt.

Unterschiede beim Auschecken und Einchecken

In Visual SourceSafe müssen Sie eine Datei nur explizit aus- und einchecken, wenn Sie sie bearbeiten. In Team Foundation erfordert jede Aktion ein explizites Auschecken und Einchecken.

Features, die in Team Foundation unterschiedlich ausgeführt werden

Standardmäßig wird in Team Foundation beim Auschecken einer Datei kein automatischer Get-Vorgang ausgeführt.

In Team Foundation können mehrere Benutzer gleichzeitig dasselbe Element auschecken und Änderungen an ihm vornehmen. In Visual SourceSafe sind Auscheckvorgänge standardmäßig exklusiv. Sie können jedoch in Team Foundation eine Datei sperren, um zu verhindern, dass sie andere Benutzer auschecken oder Änderungen einchecken. Weitere Informationen hierzu finden Sie unter Grundlagen von Sperrentypen.

Verzweigen und zusammenführen   Das Verzweigen und Zusammenführen von Elementen wird in Visual SourceSafe nur in sehr begrenztem Umfang unterstützt, weil die Versionsgeschichte der Zusammenführung zweier Verzweigungen von Dateien oder Ordnern nicht in Visual SourceSafe gespeichert wird. Die Team Foundation-Versionskontrolle unterstützt jedoch die Versionsgeschichte der Zusammenführung. Ohne eine Versionsgeschichte der Zusammenführung führen Sie in Visual SourceSafe Zusammenführungen aus, die keinen Ausgangspunkt besitzen.

Letzte Version bei Auschecken abrufen

Wenn Sie eine Datei in Visual SourceSafe auschecken, ruft Visual SourceSafe die letzte Version der Datei aus der Quellcodeverwaltung ab. Sie haben zwei Konfigurationsmöglichkeiten für das Auscheckverhalten in Team Foundation-Versionskontrolle. Wenn das Auscheckverhalten mit dem in Visual SourceSafe identisch sein soll, können Sie die Auscheckeinstellungen so konfigurieren, dass beim Auschecken von Elementen deren letzte Version abgerufen wird. Weitere Informationen hierzu finden Sie unter Gewusst wie: Konfigurieren von Auscheckeinstellungen.

Sie können das Auscheckverhalten aber auch so konfigurieren, dass die lokale Kopie der Datei als ausgecheckt gekennzeichnet wird, ohne dass die letzte Version vom Server abgerufen wird. Dieses Auscheckverhalten ist hilfreich, wenn Sie einen GET-Vorgang für mehrere Dateien durchführen. Die Konfiguration von Quelldateien auf dem Computer stellt i. d. R. einen Snapshot bestimmter Dateien zu einem bestimmten Zeitpunkt auf Team Foundation-Versionskontrolle dar, wobei von den Dateien bekannt ist, dass sie zusammenwirken. Deshalb können sie zusammen erstellt und getestet werden.

Sie arbeiten als Entwickler in einem Arbeitsbereich. Änderungen, die von anderen Entwicklern durchgeführt werden, wirken sich nicht auf Ihren Arbeitsbereich aus. Sie steuern, wann Sie Änderungen von anderen Entwicklern übernehmen, indem Sie ggf. einen GET-Vorgang ausführen. Wenn Sie diesen Vorgang ausführen, aktualisieren Sie nach Möglichkeit die gesamte Quellcodekonfiguration und nicht nur ein oder zwei Dateien. Der Grund hierfür ist, dass Änderungen in einer Datei häufig von Änderungen in anderen Dateien abhängig sind. Mit diesem Auscheckverhalten wird sichergestellt, dass Sie stets über einen konsistenten Snapshot der Quelldateien verfügen, der erstellt und getestet werden kann.

Wenn Sie Änderungen einchecken, führt Team Foundation Ihre Änderungen mit allen Änderungen an der Serverversion zusammen. Wenn Konflikte auftreten, wird das Dialogfeld Konflikte lösen angezeigt.

Team Foundation-Features, die in Visual SourceSafe nicht vorhanden sind

Visual SourceSafe-Features, die in Team Foundation nicht vorhanden sind

  • Freigeben

  • Festhalten

  • Archivieren und wiederherstellen

  • Schlüsselworterweiterung

Weitere Informationen finden Sie in den folgenden Abschnitten:

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Vorbereiten der Migration von Visual SourceSafe zu Team Foundation

Exemplarische Vorgehensweise: Migrieren von Visual SourceSafe zu Team Foundation