Befehl Difference

Aktualisiert: November 2007

Vergleicht zwei Dateien, Dateien in zwei Ordnern oder ein Shelveset und eine lokale bzw. eine Serverdatei. Anschließend werden vorhandene Unterschiede angezeigt.

Erforderliche Berechtigungen

Um den Befehl difference zu verwenden, muss die Berechtigung Lesen für alle angegebenen Elemente auf Zulassen festgelegt sein. Weitere Informationen finden Sie unter Team Foundation Server-Berechtigungen.

tf diff[erence] itemspec [/version:versionspec] [/type:filetype] 
[/format:format [/ignorespace] [/ignoreeol] [/ignorecase] [/recursive] 
[/options]

tf diff[erence] itemspec itemspec2 [/type:filetype] [/format: format] 
[/ignorespace] [/ignoreeol] [/ignorecase] [/recursive] [/options]

tf diff[erence] [/shelveset:shelvesetname[;shelvesetowner]] 
shelveset_itemspec [/server: servername] [/type:filetype] 
[/format: format] [/ignorespace] [/ignoreeol] [/ignorecase] 
[/recursive] [/options]

tf diff[erence] /configure

Parameter

Argument

Beschreibung

itemspec

Erforderlich. Gibt das zu vergleichende Element an. Wenn keine Version oder Pfad angegeben wird, wird die aktuelle Arbeitsbereichsversion verwendet. Akzeptiert sowohl lokale Pfade als auch Pfade auf dem Team Foundation-Versionskontrolle-Server.

Weitere Informationen über das Verfahren, mit dem Team Foundation durch Analysieren der Elementspezifikationen die Elemente bestimmt, die innerhalb des Bereichs liegen, finden Sie unter Befehlszeilensyntax (Team System).

Der Befehl difference unterstützt keine Platzhalterzeichen.

Dieser Parameter kann nicht mit der Option /shelveset kombiniert werden.

Itemspec2

Optional. Das Element, mit dem itemspec verglichen werden sollen. Wenn Sie keine zweite itemspec angeben, wird die aktuelle Version des Elements auf dem Team Foundation-Versionskontrolle-Server verwendet.

Filetype

Gibt einen Wert für die /type-Option an. Sie können "binary" oder "text" sowie eine Codepagenummer oder den Anzeigenamen für eine Codepage angeben.

Format

Wird mit der Option /format verwendet, um eines der folgenden Ausgabeformate anzugeben:

  • Visual

  • Brief

  • Context

  • RCS

  • SS

  • SS_SideBySide

  • SS_Unix

  • Unified

  • Unix

Diese Ausgabeformate werden im Abschnitt Hinweise dieses Themas erläutert.

Versionspec

Der vom Benutzer angegebene Wert für die /version-Option. Weitere Informationen über das Verfahren, mit dem Team Foundation durch Analysieren der Elementspezifikationen die Elemente bestimmt, die innerhalb des Bereichs liegen, finden Sie unter Befehlszeilensyntax (Team System).

servername

Der vom Benutzer angegebene Wert für die /server-Option. Beispiel: teamfoundation2.

Shelvesetowner

Identifiziert den Besitzer des Shelvesets durch den Benutzernamen. Wenn für diesen Parameter kein Wert angegeben wird, wird der aktuelle Benutzer verwendet.

Shelvesetname

Gibt den Namen eines Shelvesets an. Beachten Sie, dass es auf dem Team Foundation Server mehrere Shelvesets mit demselben Namen geben kann, sofern diese jeweils einen anderen Benutzer als Besitzer haben.

Shelveset_itemspec

Gibt den Namen eines Ordners oder einer Datei im Shelveset an, der bzw. die mit der Basisshelvesetversion verglichen werden soll.

Option

Beschreibung

/type

Überschreibt alle erkannten Codierungen und verwendet die angegebene Codierung für die Übergabe der Dateien an das Modul für die Unterscheidung.

/version

Gibt die Version der zu vergleichenden Datei oder des Ordner an. Standardmäßig verwendet Team Foundation die Arbeitsbereichsversion, sofern Sie keine versionspec angeben.

Anstelle des /version-Flags können Sie die Versionen angeben, indem Sie an das Ende der einzelnen Dateinamen ein Semikolon und einen Versionsbezeichner anfügen.

/format

Gibt ein mit dem format-Argument angegebenes Ausgabeformat an.

/ignorespace

Hebt Leerraumunterschiede zwischen den verglichenen Dateien nicht hervor.

/ignoreeol

Ignoriert die Unterschiede zwischen Zeilenumbruchzeichen in zwei Dateien oder Dateiversionen. /ignoreeol hat eine andere Funktionsweise als /ignoreSpace. /ignorespace behandelt 8 Leerzeichen wie eines. Wenn Sie aber die Option /ignoreeol verwenden und Datei A über zwei Zeilenumbruchzeichen zwischen zwei unveränderten Textbereichen verfügt und Datei B über eines, wird im Ergebnis ein Unterschied angezeigt. Wenn beide Dateien nur über ein Zeilenumbruchzeichen verfügen, aber in Datei A \r\n und in Datei B \n als Zeilenumbruchzeichen verwendet wird, wird dies mit der Option /ignoreEOL nicht als Unterschied ausgewertet.

/ignorecase

Hebt keine Unterschiede bei der Groß- und Kleinschreibung von Buchstaben in den verglichenen Dateien hervor.

/recursive

Vergleicht die Unterschiede zwischen dem aktuellen Ordner und all seinen Unterordnern.

/options

Gibt eine Optionszeichenfolge für das Tool an, dass durch diff aufgerufen wird. Weitere Informationen finden Sie unter Gewusst wie: Zuordnen eines Dateityps zu einem Vergleichstool und Gewusst wie: Zuordnen eines Dateityps zu einem Zusammenführungstool.

/server

Bezeichnet den Team Foundation Server. Diese Option ist erforderlich, wenn der Befehl von einem Verzeichnis aufgerufen wird, das keinem Arbeitsbereich zugeordnet ist.

/shelveset

Gibt ein Shelveset an, das mit der Version auf dem Server für die Team Foundation-Versionskontrolle verglichen werden soll, auf der das Shelveset basiert.

Diese Option kann nicht mit dem itemspec-Argument kombiniert werden. Um einzelne Shelvesetelemente zu vergleichen, können Sie shelveset_itemspec angeben.

/noprompt

Unterdrückt alle Dialogfelder, die andernfalls während dieses Vorgangs angezeigt werden würden.

/configure

Ruft das Dialogfeld Benutzertools konfigurieren auf. Dieses Tool ist auf der Visual Studio-Benutzeroberfläche verfügbar. Weitere Informationen finden Sie unter Gewusst wie: Zuordnen eines Dateityps zu einem Vergleichstool.

Hinweise

Hinweis:

Sie können in der Befehlszeile tf diff oder tf difference eingeben, um diesen Befehl auszuführen.

Sie können den Befehl difference für Vergleiche verwenden und, wenn dies möglich ist, auch zum Anzeigen der Unterschiede zwischen folgenden Elementen:

  • Zwei unterschiedliche Dateien oder zwei Versionen derselben Datei.

  • Ein oder mehrere Elemente in einem Ordner.

  • Ein, mehrere oder alle Elemente in einem Shelveset auf dem Team Foundation Server.

Sie können den Befehl difference verwenden, um Dateien mit und ohne Versionsangabe zu vergleichen.

Team Foundation kategorisiert alle Dateien nach Typ. Textdateien können zusammengeführt und parallel oder zeilenweise verglichen werden, sofern beide Dateien über dieselbe Codierung verfügen. Wenn Sie zwei Dateien mit unterschiedlichen Codierungen vergleichen möchten, können Sie die Codierungseigenschaft für eine Datei mithilfe der Option /type temporär verdecken oder überschreiben. Binärdateien können verglichen, aber nicht zusammengeführt werden. Wenn Sie eine oder mehrere Binärdateien an den Befehl difference übergeben, gibt Team Foundation an, ob Unterschiede zwischen dieser Datei und dem Element bestehen, mit dem sie verglichen wird. Weitere Informationen darüber, wie Team Foundation zwischen Dateien unterschiedlichen Typs unterscheidet, finden Sie unter Dateitypen.

Wenn Sie zwei Dateinamen angeben, werden die beiden Dateien verglichen. Anstelle des /version-Flags können Sie die Versionen angeben, indem Sie an das Ende der einzelnen Dateinamen ein Semikolon und einen Versionsbezeichner anfügen.

Wenn Sie nur eine itemspec an den Befehl difference übergeben:

  • Wenn Sie keine Versionsspezifikation angeben, wird die aktuelle Arbeitsbereichsversion des Elements standardmäßig mit der Basisversion des Arbeitsbereichs verglichen. Zum Beispiel vergleicht tf difference header.h die aktuelle Version von header.h mit der Version, auf der header.h basiert.

  • Wenn Sie in die Elementspezifikation eine Versionsspezifikation einfügen, z. B. tf difference header.h;LBeta1, vergleicht Team Foundation diese Version mit der aktuellen Arbeitsbereichsversion auf dem Datenträger.

  • Wenn Sie einen Bereich von Versionen angeben, z. B. /version:C1~C4, werden die Versionen der Datei an den beiden Endpunkten des Bereichs verglichen.

Weitere Informationen zur Suche nach dem Befehlszeilendienstprogramm tf finden Sie unter Befehle des Befehlszeilendienstprogramms "Tf".

Ausgabeformate

Mit dem format-Parameter der Option /format können Sie eine Vielzahl unterschiedlicher Ausgabeformate angeben. Die verfügbaren Ausgabetypen lauten:

  • Visual

    Der Formattyp Visual öffnet eine externe Anwendung für die Unterscheidung. Standardmäßig wird diffmerge.exe gestartet.

  • Brief

    Beim Format Brief wird angegeben, ob sich die verglichenen Dateien unterscheiden.

  • Context

    Mit dem Format Context werden Zeilen mit Kontext für die Unterschiede in den Dateien bereitgestellt. Dieses Format ist vom UNIX-basierten Ausgabeformat diff –c abgeleitet.

  • RCS

    Das Format RCS entspricht /format:unix, wobei allerdings keine Kontextzeilen bereitgestellt werden.

    Für fehlende Zeilenumbruchzeichen am Dateiende wird keine spezielle Behandlung bereitgestellt.

  • SS

    SS ist das Standardausgabeformat für Unterschiede in Visual SourceSafe. Weitere Informationen finden Sie unter "Diff (Befehlszeile)" auf der Microsoft-Website (https://go.microsoft.com/fwlink/?linkid=99139).

  • SS_SideBySide

    SS_SideBySide ist das Standardformat für die parallele Ausgabe in Visual SourceSafe.

  • SS_Unix

    SS_Unix ähnelt dem Ausgabeformat /format:unix, wobei bei /format:ss_unix Zeilen mit Kontext bereitgestellt werden, bei /format:unix hingegen nicht.

  • Unified

    Das Format Unified ist vom UNIX-basierten Ausgabeformat diff –u abgeleitet. /format:context wiederholt allerdings im Gegensatz zu /format:unified identische Kontextzeilen zwischen Zeichenfolgen, die Unterschiede kennzeichnen.

    Das Format Unified erzeugt nur dann eine neue einheitliche Zeile für die Unterschiedzeichenfolge (@ @ ... @@), wenn der Abstand zur nächsten Unterscheidungszeichenfolge größer als die Anzahl der Kontextzeilen ist.

  • Unix

    Dieser Ausgabetyp ist vom UNIX-basierten Ausgabeformat für den Befehl diff abgeleitet.

    Das Unix-Ausgabeformat wird folgendermaßen generiert:

    <metadataline>
    "< " line prefix for lines from the first file
    "---" line
    "> " line prefix for lines from the second file
    
    <metadataline> can be one of these possibilities:
    #a#,# -- add lines from line # in file1 into file2 at lines #->#
    #,#d# -- delete lines from line # -> # in file 1 from file2 at line #
    #,#c#,# -- change lines from line # -> # in file1 into the lines in file2 at line # -> #
    
    # signs seprated by commas indicate a line range.
    # signs before the character indicate line numbers in the first file
    # signs after the character indidicate line numbers in the second file
    
    /// No end of line marker at the end of the file:
    /// \ No newline at end of file
    

Beispiele

Im folgenden Beispiel werden die Unterschiede zwischen der lokalen Version von 314.cs und der Arbeitsbereichsversion von 314.cs angezeigt. Dies ist die Dateiversion, die auf dem Team Foundation-Versionskontrolle-Server ausgecheckt wurde.

c:\projects>tf difference 314.cs

Im folgenden Beispiel werden alle Dateien angezeigt, die im Ordner src geändert wurden. Es werden keine Dateien angezeigt, die in Unterordnern von src geändert wurden.

c:\projects>tf difference src /format:visual

Im folgenden Beispiel werden die Unterschiede zwischen Changeset 3 und Changeset 8 von 1254.cs angezeigt.

c:\projects>tf difference /version:C3~C8 1254.cs

Im folgenden Beispiel werden die Unterschiede zwischen der Version von 314.cs mit der Bezeichnung "release" und der Version aus dem Changeset 3200 angezeigt.

c:\projects>tf difference 314.cs;Lrelease 314.cs;C3200

- oder -

c:\projects>tf difference 314.cs;Lrelease~C3200

Im folgenden Beispiel werden die Unterschiede zwischen der Version von e271.cs, die der Benutzer Nadia im Shelveset PeerCodeReview8 zurückgestellt hat, und der Basisshelvesetversion angezeigt, d. h. die Version, auf die die Änderungen beruhen. Außerdem werden die Typen der beim Zurückstellen durch Nadia ausstehenden Änderungen in e271.cs angezeigt.

c:\projects> tf difference /shelveset:PeerCodeReview8;Nadia e271.cs

Im folgenden Beispiel werden die Unterschiede zwischen sämtlichen Dateien im Shelveset PeerCodeReview2 und den Basisshelvesetversionen dieser Dateien angezeigt.

c:\projects> tf difference /shelveset:PeerCodeReview2

Siehe auch

Konzepte

Dateitypen

Referenz

Befehl Merge

Befehl Checkin

Befehl Shelvesets

Weitere Ressourcen

Befehle des Befehlszeilendienstprogramms "Tf"

Vergleichen von Ordnern und Dateien in der Versionskontrolle