Einführung in die Quellcodeverwaltung

Aktualisiert: November 2007

Visual Studio unterstützt die Quellcodeverwaltung und verwendet dazu die VSIP-Ebene (Visual Studio Integration Protocol) in seiner Integrierten Entwicklungsumgebung (IDE). VSIP kann eine Vielzahl von Quellcodeverwaltungspaketen hosten, die normalerweise als in die entsprechenden Protokolle geschriebene Plug-Ins implementiert sind. Ein Beispiel für ein Quellcodeverwaltungs-Plug-In ist das SourceSafe-LAN-Plug-In, das von Visual SourceSafe unterstützt wird. Details zu diesem Plug-In finden Sie in der Hilfe zu Visual SourceSafe.

Hinweis:

Visual Studio betrachtet Quellcodeverwaltungspakete als Plug-Ins, obwohl sie auch als andere Softwaremodultypen implementiert werden können.

Quellcodeverwaltung in Visual Studio ist einfach eine Umgebung für Quellcodeverwaltungs-Plug-Ins von Drittanbietern. Daher wird ihre Funktionalität nur bei der Installation eines Plug-Ins aktiviert. Damit Sie ein Quellcodeverwaltungs-Plug-In eines Drittanbieters verwenden können, müssen Sie üblicherweise die Anwendung des Drittanbieters oder das/die Quellcodeverwaltungs-Plug-In(s) auf den Client- und Servercomputern für Ihren Standort installieren. Nachdem sie entsprechend den Anweisungen des Drittanbieters installiert wurden, steht ihre Funktionalität in Visual Studio zur Verfügung. Die verfügbaren Operationen sind variabel und abhängig vom Quellcodeverwaltungs-Plug-In. Paketspezifische Details zur Bedienung finden Sie in den Dokumentationsmaterialien vom Drittanbieter.

Einzelheiten zum Entwurf der Quellcodeverwaltung in Visual Studio finden Sie in "Übersicht (Quellcodeverwaltung)" der Hilfe zu Visual Studio. Dieser Abschnitt in der Hilfe stellt auch alle Informationen bereit, die Sie für die Entwicklung eines Quellcodeverwaltungspakets eines Drittanbieters benötigen, das mit Visual Studio kompatibel ist.

Grundlagen der Quellcodeverwaltungsunterstützung in Visual Studio

Die grundlegende Quellcodeverwaltungsunterstützung in Visual Studio beinhaltet die Einrichtung des Quellcodeverwaltungs-Plug-Ins und der Umgebungsoptionen, das Umschalten zwischen Plug-Ins, Datenbankzugriff und Versionserstellung für und Manipulation von Visual Studio-Projekten, -Projektmappen und -Dateien sowie assoziierten Metadaten. Die Quellcodeverwaltung in Visual Studio erzwingt auch Protokolle für die Kontrolle von Datenbankzugriffen, beispielsweise den Arbeitsstil Sperren-Verändern-Entsperren, bei dem ein Benutzer, der eine Datei verändern möchte, diese exklusiv auschecken muss.

Es ist wichtig, darauf zu achten, dass Sie die Quellcodeverwaltungmechanismen in Visual Studio zusammen mit einem Quellcodeverwaltungs-Plug-In verwenden. Verwenden Sie keine anderen Client-Anwendungen vom Drittanbieter, die das Plug-In enthalten, wie beispielsweise Visual SourceSafe Explorer. Die richtige Verwendung der Quellcodeverwaltungsmechanismen in Visual Studio stellt sicher, dass nur korrekte Dateien zur Quellcodeverwaltung hinzugefügt werden und dass die Dateien Ihres Visual Studio-Projekts oder Ihrer Visual Studio-Projektmappe mit den korrekten plug-in-spezifischen Details aktualisiert werden.

Konfiguration des Quellcodeverwaltung-Plug-Ins und Umschaltung

Die Quellcodeverwaltung in Visual Studio unterstützt die Konfiguration von und das Umschalten zwischen Plug-Ins über den Eintrag Quellcodeverwaltung im Dialogfeld Optionen. Auf diesen Eintrag kann zugegriffen werden, wenn der Eintrag Optionen im Visual Studio-Menü Extras ausgewählt wird. Sie verwenden das Dialogfeld Optionen, um das Quellcodeverwaltungs-Plug-In auszuwählen, das Sie für die Quellcodeverwaltung verwenden möchten, und um die Umgebungsoptionen für dieses Plug-In festzulegen.

Bevor Sie und Ihr Team die Vorteile der Quellcodeverwaltungsfeatures in der Visual Studio-IDE nutzen können, müssen Sie Folgendes ausführen:

  • Bestimmen Sie, ob irgendein Quellcodeverwaltungs-Plug-In verfügbar ist.

  • Wenn das Quellcodeverwaltungs-Plug-In, das Sie verwenden möchten, nicht auf Ihrem Computer installiert ist, installieren Sie das Drittanbieterprodukt, das das Plug-In unterstützt, und starten Sie Visual Studio neu, um es zu registrieren.

  • Erstellen Sie eine Datenbank der Quellcodeverwaltung entsprechend der Funktionalität des entsprechenden Plug-Ins.

  • Senden Sie an alle Teammember einen Link zum Datenbankspeicherort.

Datenbankzugriff

Grundlegende Datenbankzugriffsbefehle, wie beispielsweise Auschecken und Zur Quellcodeverwaltung hinzufügen, sind in Visual Studio im Menü Datei verfügbar. Diese Befehle werden jedoch erst aktiviert, nachdem Sie das Quellcodeverwaltungs-Plug-In ausgewählt haben, das Sie verwenden möchten. Wenn Sie einen der grundlegenden Datenbankzugriffbefehle verwenden, ruft das von Ihnen ausgewählte Plug-In die entsprechende Drittanbieter-Funktion oder die Umgebung auf, um die damit verbundene Operation abzuschließen.

Einige Zugriffsoperationen sind verfügbar, wenn nur das Plug-In ausgewählt ist, wohingegen andere erst verfügbar sind, wenn Sie außerdem im Projektmappen-Explorer von Visual Studio ein Visual ein Projekt, eine Projektmappe oder eine Datei aus Visual Studio ausgewählt haben. Beispielsweise können Sie den Befehl Zur Quellcodeverwaltung hinzufügen verwenden, nachdem Sie ein Plug-In ausgewählt haben. Wenn Sie aber den Befehl Einchecken verwenden möchten, müssen Sie im Projektmappen-Explorer ein Element ausgewählt haben.

Dateiverarbeitung durch die Quellcodeverwaltung

Sie können die folgenden Dateien zur Visual Studio-Quellcodeverwaltung hinzufügen:

  • Projektmappendateien (SLN-Dateien).

  • Projektdateien (z. B. CSPROJ- und VBPROJ-Dateien).

  • XML-basierte Anwendungskonfigurationsdateien, die zur Steuerung des Laufzeitverhaltens eines Visual Studio-Projekts verwendet werden.

Dateien, die Sie nicht zur Quellcodeverwaltung hinzufügen können, umfassen die folgenden:

  • Benutzeroptionsdateien für Projektmappen (SUO-Dateien).

  • Benutzeroptionsdateien für Projekte (z. B. CSPROJ.USER- und VBPROJ.USER-Dateien).

  • Webinformationsdateien (z. B. CSPROJ.WEBINFO- und VBPROJ.WEBINFO-Dateien), die den virtuellen Stammspeicherort eines Webprojekts steuern.

  • Buildausgabedateien (z. B. DLL- und EXE-Dateien).

Weitergabe von Namespaceänderungen

Die Visual Studio-Quellcodeverwaltung unterstützt die Weitergabe von Namespaceänderungen in Quellcodeverwaltungs-Plug-Ins. Änderungsweitergabe gilt für Lösch-, Umbenennungs- und Verschiebevorgänge. Wenn Sie eine Operation anfordern, für die Änderungsweitergabe aktiviert ist, ändert das Quellcodeverwaltungs-Plug-In Ihre Arbeitskopie des Elements unter Quellcodeverwaltung, die Masterkopie in der Datenbank und die Kopien der anderen Benutzer, wenn Sie das Element einchecken, und die anderen Benutzer dieses abrufen.

Wie die Quellcodeverwaltung Projektmappen und Projekte verarbeitet

Wenn Sie eine Projektmappe oder ein Projekt zur Quellcodeverwaltung hinzufügen, besteht die erste Aufgabe für das Quellcodeverwaltungs-Plug-In darin, einen vereinheitlichten Stamm für das hinzuzufügende Element zu identifizieren. Dieser Stamm ist ein Pfad zum übergeordneten Verzeichnis für alle Arbeitsordner und Dateien, aus denen ein Projekt oder eine Projektmappe besteht.

Ein vereinheitlichter Stamm bildet im Allgemeinen auf einen physischen Pfad auf dem Datenträger ab. Wenn jedoch eine Projektmappe Dateien oder Projekte enthält, die sich auf mehr als einem Laufwerk befinden, gibt es keinen physischen Ordner, auf den ein vereinheitlichter Stamm abbilden kann. Eine Projektmappe kann Laufwerke überspannen, der vereinheitlichte Stamm der Quellcodeverwaltung dagegen nicht. Um diese Situation zu unterstützen, unterstützt die Visual Studio-Quellcodeverwaltung das Konzept eines supervereinheitlichten Stammes. Diese Art Stamm ist ein virtueller Container, unter dem sich alle Projekte und Dateien in einer der Projektmappe unter Quellcodeverwaltung befinden.

Wenn Sie eine Projektmappe unter Verwendung eines Quellcodeverwaltungs-Plug-Ins mit erweiterten Fähigkeiten hinzufügen, erstellt das Plug-In einen leeren Ordner für den Projektmappenstamm in der Datenbank. Dieser Ordner wird alle Elemente in einer Projektmappe unter Quellcodeverwaltung enthalten. Standardmäßig ist dieser Ordner <Projektmappenname>.root.

Hinweis:

Wenn Sie ein einzelnes Projekt zur Quellcodeverwaltung hinzufügen, wird der Ordner .root nicht erstellt.

Die Verwendung des Projektmappenstammes hat die folgenden Vorteile:

  • Weniger Eingabeaufforderungen. Der Projektmappenstamm minimiert die potenzielle Anzahl von Quellcodeverwaltungsbindungen für eine Projektmappe, und damit die Eingabeaufforderungen an den Benutzer beim Hinzufügen einer Projektmappe zur Quellcodeverwaltung sowie bei der Durchführung anderer Aufgaben.

  • Projektkapselung. Der Projektmappenstamm stellt sicher, dass alle Projekte in einer Projektmappe sofort als zueinander gehörig identifiziert werden können, auch wenn sich eines oder mehrere Projekte auf anderen Bereichen des Computers befinden.

Sie können die Erstellung des Ordner <Projektmappennname>.root deaktivieren. Dies wird jedoch nicht empfohlen. Weitere Informationen hierzu finden Sie unter Gewusst wie: Deaktivieren der Erstellung des Ordners '<Projektmappenname>.root'.

Projektmappen in Visual Studio sind entweder wohlgeformt oder nicht. Eine wohlgeformte Projektmappe ist eine, deren hierarchische Struktur auf dem Datenträger mit ihrer Struktur im Projektmappen-Explorer übereinstimmt. Alle Projekte in einer wohlgeformten Projektmappe werden in Unterordnern des Projektmappenordners auf dem Datenträger gespeichert. Wenn die Projektmappe wohlgeformt ist, wenn Sie sie zur Quellcodeverwaltung hinzufügen, erstellt das Quellcodeverwaltungs-Plug-In einen Ordner unterhalb des Ordners *.root, der die Masterkopien der Projektmappendatei (*.sln) und die Benutzeroptionsdateien für Projektmappen (*.suo) für die Projektmappe enthält. Schließlich erstellt das Quellcodeverwaltungs-Plug-In für jedes zusätzliche Projekt in der Datenbank der Quellcodeverwaltung einen Ordner unterhalb des Ordners .sln.

Wenn eine Projektmappe nicht wohlgeformt ist, erstellt das Quellcodeverwaltungs-Plug-In einen Ordner für die Projektmappe und deren Anfangsprojekt. Dann werden parallel zum Projektmappenordner Ordner für jedes zusätzliche Projekt erstellt.

Ansichten einer Projektmappe oder eines Projekts

Visual Studio bietet drei verschiedene Ansichten für eine Projektmappe oder ein Projekt unter Quellcodeverwaltung: Entwurfs-, Quellcodeverwaltungs- und physische Ansicht. Viele Quellcodeverwaltungsaufgaben sind einfacher auszuführen, wenn es eine Eins-zu-Eins-Abbildung zwischen den einzelnen Elementen dieser Ansichten gibt. Wenn Sie jedoch Projektmappen und Projekte erstellen und diese mit den Standardeinstellungen in Visual Studio zur Quellcodeverwaltung hinzufügen, werden Ihre Projektmappen und Projekte auf dem Datenträger nicht notwendig in derselben Art und Weise organisiert, wie sie es im Projektmappen-Explorer und in der Datenbank sind.

Die Entwurfsansicht einer Projektmappe oder eines Projekts, die im Projektmappen-Explorer angezeigt wird, ist eine logische Darstellung der Inhalte einer Projektmappe oder eines Projekts. Im Allgemeinen ist die Entwurfsansicht klar und informativ. Nicht benötigte Dateien sind versteckt, und Dateien aus vielen unterschiedlichen physischer Speicherorten werden in einem einzelnen Projektcontainer zusammengefasst.

Die Quellcodeverwaltungsansicht einer Projektmappe oder eines Projekts, die in einer selbstständigen Anwendung, z. B. Visual SourceSafe Explorer, angezeigt wird, ist ebenfalls eine logische Ansicht der Projektmappe oder des Projekts. Die Quellcodeverwaltungsansicht spiegelt jedoch nicht notwendigerweise die logische Ansicht wider.

Die physische Ansicht einer Projektmappe oder eines Projekts, die im Windows-Dateiexplorer angezeigt wird, spiegelt weder die hierarchische Struktur der logischen Ansicht noch die der Quellcodeverwaltungsansicht wider.

Die folgenden Richtlinien können Ihnen helfen, organisatorische Wiedergabetreue zwischen der Entwurfs-, der physischen und der Quellcodeverwaltungsansicht Ihrer Projektmappen und Projekte unter Quellcodeverwaltung zu erreichen.

  • Erstellen Sie zuerst eine leere Projektmappe, und fügen Sie dann zu dieser Projekte hinzu. Das hilft Ihnen, die logische Parent-Child-Beziehung zwischen einer Projektmappe und ihren Projekten im Speicher aufrecht zu erhalten. Wenn Sie dann die Projektmappe zur Quellcodeverwaltung hinzufügen, spiegelt sowohl die Quellcodeverwaltungsansicht als auch die Entwurfsansicht die Projektmappenhierarchie auf dem Datenträger wider.

  • Geben Sie jeder Projektmappe einen eindeutigen und leicht zu identifizierenden Namen, der sich von dem Namen jedes der enthaltenen Projekte unterscheidet.

  • Vermeiden Sie, verknüpfte Dateien zu einer Projektmappe oder zu einem Projekt unter Quellcodeverwaltung hinzuzufügen.

  • Falls möglich, speichern Sie alle Dateien in einer Projektmappe oder einem Projekt auf einem Laufwerk.

Verbindungen und Bindungen der Quellcodeverwaltung

Visual Studio definiert eine Verbindung als aktiven Data Link zwischen Visual Studio und einem Datenbankserver. Wenn Sie eine Projektmappe oder ein Projekt zur Quellcodeverwaltung hinzufügen, kopiert die Quellcodeverwaltung das Element samt seinem Inhalt vom Datenträger in die Datenbank. Für jeden Ordner wird ein Quellcodeverwaltungsordner erstellt, der eine Projektmappen- oder Projektdatei enthält. Nachdem das Element hinzugefügt wurde, bindet das Quellcodeverwaltungs-Plug-In die lokale Arbeitskopie einer Projektmappe oder eines Projekts an dessen Version in der Datenbank.

Jede Projektmappe unter Quellcodeverwaltung hat wenigstens eine Quellcodeverwaltungsbindung. Ein Element kann allerdings Mehrfachbindungen haben und mehrfache Verbindungen zur Datenbank erfordern. Die Anzahl der Bindungen und Verbindungen hängt davon ab, wie Sie anfänglich die Projektmappe erstellt haben, und ob ihre Projekte und Dateien alle auf derselben Partition gespeichert sind oder nicht.

Um die Bindungen und Verbindungen in einem Beispiel zu veranschaulichen, stellen Sie sich eine wohlgeformte Projektmappe unter Quellcodeverwaltung, die mehrere Projekte enthält, als ein Haus mit mehreren Räumen vor. Wenn Sie das Haus bauen, können Sie eine einzelne Hochgeschwindigkeits-Datenleitung von einem Raum bis zur Straße einrichten. Sie installieren hinter einer Firewall einen Router, der den Datenstream auf die anderen Räume verteilt, und Sie bezahlen einen Internetdienstanbieter, damit Ihr Haus mit dem Internet verbunden ist.

Sie können sich eine Quellcodeverwaltungsbindung als die einzelne, für das Haus erstellt, Datenleitung vorstellen. Wenn Sie eine Projektmappe unter Quellcodeverwaltung öffnen, wird eine Verbindung über dieser Bindung erstellt. Die Verbindung sorgt für ein gegenseitiges Erkennen Ihrer Arbeitskopie der Projektmappe auf dem Datenträger und der Masterkopie der Projektmappe in der Datenbank.

Wenn eine Projektmappe unter Quellcodeverwaltung nicht wohlgeformt ist, entspricht dies etwa einem Haus, in dem jeder Raum direkt mit dem Internet verbunden ist. Dabei fallen mehr Internetgebühren an als in dem Haus mit einer einzelnen Verbindung, die Wartungskosten sind höher, und das Umschalten zu einem anderen Internetdienstanbieter ist bedeutend schwieriger und zeitaufwändiger.

Idealerweise nutzen eine Projektmappe und ihre Projekte eine einzelne Quellcodeverwaltungsbindung gemeinsam. Projektmappen mit Einzelbindungen sind leichter zu verwalten als Projektmappen mit Mehrfachbindungen. Folgendes ist einfacher zu realisieren:

  • Verbindung von der Quellcodeverwaltung trennen, um offline zu arbeiten.

  • Mit der Datenbank verbinden, nachdem eine Verbindung zum Netzwerk wiederhergestellt wurde.

  • Verzweigung in einem Schritt.

Sie können eine Projektmappe mit mehreren Projekten mit einer Einzelbindung erstellen, indem Sie eine leere Projektmappe erstellen, bevor Sie zu dieser ihre Projekte hinzufügen. Sie können dies auch durchführen, indem Sie beim Erstellen eines Projektmappe-Projekt-Paares die Option Projektmappenverzeichnis erstellen im Dialogfeld Neues Projekt auswählen.

Wenn Sie das Projektmappe-Projekt-Paar in einem Schritt erstellen und die Option Projektmappenverzeichnis erstellen im Dialogfeld Neues Projekt nicht auswählen (in der Standardeinstellung deaktiviert), wird eine zweite Bindung erstellt, wenn Sie zu der Projektmappe ein zweites Projekt hinzufügen. Für das Anfangsprojekt und die Projektmappe wird eine Bindung erstellt. Zusätzliche Bindungen werden für jedes zusätzliche Projekt erstellt.

Quellcodeverwaltung-Terminologie

In der Dokumentation zu Visual Studio wird eine Reihe von Begriffen zum Beschreiben der Features und Konzepte der Quellcodeverwaltung verwendet. In der folgenden Tabelle werden einige der gängigen Begriffe definiert.

  • Basisversion
    Die Serverversion einer Datei, von der eine lokale Version abgeleitet wird.

  • Bindung
    Informationen, die den Arbeitsordner für eine Projektmappe oder ein Projekt auf dem Datenträger mit dem jeweiligen Ordner in der Datenbank verknüpfen.

  • Verzweigen
    Prozess zur Erstellung einer neuen Version oder Verzweigung einer freigegebenen Datei oder eines freigegebenen Projekts unter Quellcodeverwaltung. Nachdem eine Verzweigung erstellt worden ist, haben die beiden Versionen unter Quellcodeverwaltung bis zu einem gewissen Punkt eine gemeinsame Versionsgeschichte. Ab diesem Punkt divergiert die Versionsgeschichte der beiden Versionen.

  • Konflikt
    Zwei oder mehr unterschiedliche Änderungen auf derselben Codezeile, wenn zwei oder mehr Entwickler dieselbe Datei ausgecheckt und bearbeitet haben.

  • Verbindung
    Eine aktiver Datenlink zwischen einem Quellcodeverwaltungs-Client (z. B. Visual Studio) und einem Datenbankserver der Quellcodeverwaltung.

  • Datenbank
    Speicherort, in dem alle Masterkopien, die Versionsgeschichte, Projektstrukturen und Benutzerinformationen gespeichert werden. Ein Projekt ist immer in einer Datenbank enthalten. Mehrere Projekte können in einer Datenbank gespeichert werden, und es können mehrere Datenbanken verwendet werden. Andere Begriffe, die häufig für eine Datenbank verwendet werden, sind Repository und Speicher.

  • Versionsgeschichte
    Aufzeichnung der Änderungen an einer Datei, seitdem sie anfänglich zur Quellcodeverwaltung hinzugefügt wurde. Mit der Versionskontrolle können Sie zu einem beliebigen Punkt in der Dateiversionsgeschichte zurückkehren und die Datei in der Art wiederherstellen, wie sie zu diesem Zeitpunkt vorhanden war.

  • Bezeichnung
    Benutzerdefinierter Name, der an eine bestimmte Version eines Elements unter Quellcodeverwaltung angehängt ist.

  • Lokale Kopie
    Datei im Arbeitsordner eines Benutzers, in der Änderungen gespeichert werden, bis ein Eincheckvorgang durchgeführt wird. Eine lokale Kopie wird manchmal als Arbeitskopie bezeichnet.

  • Masterkopie
    Die zuletzt eingecheckte Version einer Datei unter Quellcodeverwaltung im Gegensatz zur lokalen Kopie einer Datei in Ihrem Arbeitsordner. Andere Begriffe für Masterkopie sind Serverversion und Datenbankversion.

  • Zusammenführen
    Prozess, bei dem die Unterschiede zwischen zwei oder mehr geänderten Versionen einer Datei in einer neuen Dateiversion zusammengeführt werden. Ein Zusammenführen kann verschiedene Versionen derselben Datei oder Änderungen betreffen, die an derselben Dateiversion vorgenommen wurden.

  • Freigegebene Datei
    Eine Datei, von der es Versionen in mehr als einem Quellcodeverwaltungsspeicherort gibt. Andere Begriffe für eine freigegebene Datei sind Kopie und Verknüpfung.

  • Projektmappenstamm
    Ein leerer Ordner in einer Datenbank, die alle Elemente in einer Projektmappe unter Quellcodeverwaltung enthält. Standardmäßig ist dieser Ordner <Projektmappenname>.root.

  • Supereinheitlicher Stamm
    Ein virtueller Container, unter dem sich alle Projekte und Dateien in einer Projektmappe unter Quellcodeverwaltung befinden. Beispielsweise ist [SUR]:\ der supervereinheitlichte Stamm einer Projektmappe unter Quellcodeverwaltung, die Projekte enthält, die sich unter [SUR]:\C:\Solution\ProjOne and [SUR]:\D:\ProjTwo befinden.

  • Einheitlicher Stamm
    Ein Pfad zum übergeordneten Verzeichnis für alle Arbeitsordner und Dateien in einem Projekt oder einer Projektmappe unter Quellcodeverwaltung. Beispielsweise ist C:\Projektmappe der vereinheitlichte Stamm einer Projektmappe unter Quellcodeverwaltung, die Dateien enthält, die sich unter C:\Projektmappe, C:\Projektmappe\ProjOne und C:\Projektmappe\ProjTwo befinden.

  • Arbeitsordner
    Speicherort, in dem die lokalen Kopien der Elemente unter Quellcodeverwaltung gespeichert werden (normalerweise auf dem eigenen Computer). Ein weiterer Begriff für einen Arbeitsordner ist Arbeitsbereich.

Siehe auch

Aufgaben

Gewusst wie: Deaktivieren der Erstellung des Ordners '<Projektmappenname>.root'

Referenz

Dialogfeld "Neues Projekt"