Freigeben über


Befehl 'Unterschied'

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022-

Das Team Foundation Version Control (TFVC) difference Befehl vergleicht, und wenn möglich, werden Unterschiede zwischen zwei Dateien, Dateien in zwei Ordnern oder ein Regalet und eine lokale oder serverdatei angezeigt.

Voraussetzungen

Um den Befehl difference zu verwenden, verfügen Sie über die Berechtigung Lesen für alle angegebenen Elemente, die auf Allowfestgelegt sind. Weitere Informationen finden Sie unter Standard-TFVC-Berechtigungen.

Syntax

tf diff[erence] itemspec [/version:versionspec] [/type:filetype] 
[/format:format [/ignorespace] [/ignoreeol] [/ignorecase] [/recursive] 
[/options][/noprompt][/login:username,[password]]
tf diff[erence] itemspec itemspec2 [/type:filetype] [/format: format] 
[/ignorespace] [/ignoreeol] [/ignorecase] [/recursive] [/options] [/noprompt][/login:username,[password]]
tf diff[erence] [/shelveset:shelvesetname[;shelvesetowner]] 
shelveset_itemspec [/type:filetype] 
[/format: format] [/ignorespace] [/ignoreeol] [/ignorecase] 
[/recursive] [/options] [/noprompt][/login:username,[password]]
tf diff[erence] /configure

Parameter

Argumente

Argument

Beschreibung

<itemspec>

Erforderlich. Gibt das zu vergleichende Element an. Wenn keine Version oder kein Pfad angegeben ist, wird die aktuelle Arbeitsbereichsversion angenommen. Akzeptiert sowohl lokale als auch Azure DevOps-Serverpfade.

Weitere Informationen dazu, wie TFVC die itemspec analysiert, um zu bestimmen, welche Elemente im Bereich enthalten sind, finden Sie unter Verwenden von Steuerelementbefehlen für die Team Foundation-Version.

Der Befehl difference unterstützt keine Wildcardzeichen.

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

<itemspec2>

Wahlfrei. Das Element, mit dem die itemspec verglichen werden soll. Wenn Sie keine zweite itemspecbereitstellen, wird die neueste Azure DevOps-Serverversion des Elements verwendet.

<filetype>

Stellt einen Wert für die Option /type bereit. Sie können binary oder text und eine Codepagenummer oder den Anzeigenamen für eine Codepage angeben.

<format>

Wird mit der Option /format verwendet, um ein Ausgabeformat eines der folgenden Typen anzugeben:

  • Visual
  • Brief
  • Context
  • RCS
  • SS
  • SS_SideBySide
  • SS_Unix
  • Unified
  • Unix

Diese Ausgabeformate werden im Abschnitt Anmerkungen erläutert.

<versionspec>

Der vom Benutzer bereitgestellte Wert für die option /version. Weitere Informationen dazu, wie TFVC eine Versionsspezifikation analysiert, um zu bestimmen, welche Elemente in ihrem Bereich enthalten sind, finden Sie unter Verwenden von Steuerelementbefehlen für die Team Foundation-Version.

<shelvesetowner>

Identifiziert den Besitzer der Regale anhand des Benutzernamens. Wenn kein Wert für diesen Parameter angegeben wird, wird der aktuelle Benutzer angenommen.

<shelvesetname>

Gibt den Namen einer Regalet an. Sie können mehrere Regale mit demselben Namen auf dem Server erstellen, auf dem TFVC ausgeführt wird, solange ein anderer Benutzer jedes Regalet besitzt.

<shelveset_itemspec>

Gibt den Namen eines Ordners oder einer Datei im Regalet an, der mit der Basis-Regalsatzversion verglichen werden soll.

<username>

Stellt einen Wert für die Option /login bereit. Sie können einen Benutzernamenwert entweder als DOMAIN\username oder als usernameangeben.

Optionen

Option

Beschreibung

/type

Setzt alle erkannten Codierungen außer Kraft und verwendet die angegebene Codierung, um die Dateien dem unterschiedlichen Modul darzustellen.

/version

Gibt die Version der zu vergleichenden Datei oder des Ordners an. Standardmäßig verwendet TFVC die Arbeitsbereichsversion, wenn Sie keine versionspecbereitstellen.

Anstatt das /version Flag zu verwenden, können Sie Versionen angeben, indem Sie am Ende jedes Dateinamens ein Semikolon und einen Versionsbezeichner anfügen.

/format

Gibt ein ausgabeformat an, das durch das Argument format angegeben wird.

/ignorespace

Hebt keine Leerzeichenunterschiede zwischen den verglichenen Dateien hervor.

/ignoreeol

Ignoriert Unterschiede zwischen den neuen Zeilenzeichen in zwei Dateien oder Dateiversionen. /ignoreeol funktioniert anders als ignorespace, wodurch acht Leerzeichen identisch mit einem behandelt werden. Wenn Sie jedoch die Option /ignoreeol verwenden und Datei A zwei neue Zeilenzeichen zwischen unveränderten Textbereichen aufweist, und Datei B eins aufweist, wird das Ergebnis als Unterschied angezeigt. Wenn beide Dateien nur eine neue Zeile haben, aber Datei A\r\n als neue Zeile verwendet und Datei B\nverwendet, würde die option /ignoreeol dies als Unterschied ignorieren.

/ignorecase

Hebt keine Unterschiede bei der Groß-/Kleinschreibung zwischen den verglichenen Dateien hervor.

/recursive

Vergleicht die Unterschiede zwischen dem aktuellen Ordner und allen unterordnern.

/options

Gibt eine Optionszeichenfolge für das Tool an, das von differenceaufgerufen werden soll. Weitere Informationen finden Sie unter Zuordnen eines Dateityps zu einem Unterschiedstool und Zuordnen eines Dateityps zu einem Seriendrucktool.

/shelveset

Gibt ein Regalet an, das mit der Azure DevOps-Serverversion verglichen werden soll, auf der das Regalet basiert.

Diese Option kann nicht mit einem itemspec-Argument kombiniert werden. Um einzelne Regale zu vergleichen, können Sie eine shelveset_itemspecbereitstellen.

/noprompt

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

/configure

Ruft das Dialogfeld Konfigurieren von Benutzertools auf der Visual Studio-Benutzeroberfläche auf. Weitere Informationen finden Sie unter Zuordnen eines Dateityps zu einem Unterschiedstool.

/login

Gibt den Benutzernamen und das Kennwort an, um den Benutzer bei TFVC zu authentifizieren.

Bemerkungen

Anmerkung

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

Sie können den Befehl difference verwenden, um Unterschiede zwischen den Folgenden zu vergleichen und nach Möglichkeit anzuzeigen:

  • Zwei verschiedene Dateien oder zwei Versionen derselben Datei.

  • Mindestens eines der Elemente in einem Ordner.

  • Eins, einige oder alle Elemente in einem Regalet auf dem Azure DevOps-Server.

Sie können den Befehl "difference" verwenden, um versionsgesteuerte und nicht versionsbezogene Dateien zu vergleichen.

TFVC kategorisiert alle Dateien nach Typ. Textdateien können zusammengefügt und miteinander verglichen werden, solange beide Dateien dieselbe Codierung aufweisen. Wenn Sie zwei Dateien vergleichen möchten, deren Codierungen nicht identisch sind, können Sie die Codierungseigenschaft für eine Datei vorübergehend maskieren oder außer Kraft setzen, indem Sie die Option /type verwenden.

Binärdateien können verglichen werden, können aber nicht zusammengeführt werden. Wenn Sie eine oder mehrere Binärdateien an den Befehl difference übergeben, gibt TFVC an, ob Unterschiede zwischen ihr und dem Element vorhanden sind, mit dem sie verglichen wird. Weitere Informationen dazu, wie TFVC zwischen Dateien unterschiedlicher Typen unterscheidet und behandelt, finden Sie unter Verwalten von Dateitypen.

Wenn Sie zwei Dateinamen angeben, werden die beiden Dateien verglichen. Anstatt das flag /version zu verwenden, können Sie Versionen angeben, indem Sie am Ende jedes Dateinamens ein Semikolon und einen Versionsbezeichner anfügen.

Wenn Sie nur einen itemspec an den Unterschiedsbefehl übergeben:

  • Wenn Sie keine versionspecbereitstellen, wird Ihre aktuelle Arbeitsbereichsversion des Elements standardmäßig mit der Basisarbeitsbereichsversion verglichen. Beispielsweise vergleicht tf difference header.h die aktuelle Version von header.h mit der Version, auf der header.h basiert.

  • Wenn Sie eine versionspec in Ihre itemspeceinschließen, z. B. tf difference header.h;LBeta1, vergleicht TFVC diese Version mit Ihrer aktuellen Arbeitsbereichsversion auf dem Datenträger.

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

Weitere Informationen zur Verwendung des Befehlszeilenprogramms tf finden Sie unter Verwenden von Befehlen für die Versionskontrolle von Team Foundation.

Ausgabeformattypen

Der parameter format, der mit der Option /format verwendet wird, gibt viele verschiedene Ausgabeformate an. Die folgenden Ausgabetypen sind verfügbar:

  • Visual Formattyp öffnet eine Anwendung für externe Unterschiede. Standardmäßig wird diffmerge.exe gestartet.

  • Brief Format druckt, ob sich die verglichenen Dateien unterscheiden.

  • Context Format stellt Kontextzeilen für die Unterschiede in den Dateien bereit. Dieses Format wird vom UNIX-basierten diff -c Ausgabeformat abgeleitet.

  • RCS Format ähnelt /format:unix, es sei denn, Kontextzeilen werden nicht angegeben. Am Ende der Datei wird keine spezielle Hand für ein fehlendes Ende der Zeilenmarkierung bereitgestellt.

  • SS ist das Standardausgabeformat für Visual SourceSafe. Weitere Informationen finden Sie unter Diff (Befehlszeile).

  • SS_SideBySide ist das standardseitige Ausgabeformat für Visual SourceSafe.

  • SS_Unix ähnelt dem /format:unix Ausgabeformat, aber /format:ss_unix enthält Kontextzeilen und /format:unix nicht.

  • Unified Format wird vom UNIX-basierten diff -u Ausgabeformat abgeleitet. /format:context wiederholt identische Kontextzeilen zwischen den Unterschiedszeichenfolgen, aber /format:unified nicht.

    Unified Format erzeugt eine neue Zeichenfolge für einheitliche Differenz (@@ ... @@) nur, wenn der Abstand zur nächsten Differenzzeichenfolge größer als die Anzahl der Kontextzeilen ist.

  • Unix Ausgabetyp wird vom UNIX-basierten diff Befehlsausgabeformat abgeleitet.

    Das Unix Ausgabeformat wird wie folgt erstellt:

    <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 separated by commas indicate a line range.
    # signs before the character indicate line numbers in the first file.
    # signs after the character indicate 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, bei der es sich um die Version der Datei handelt, die vom Azure DevOps-Server ausgecheckt wurde.

c:\projects>tf difference 314.cs

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

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

Im folgenden Beispiel werden die Unterschiede zwischen Changeet 3 und Changeset 8 von 1254.csangezeigt.

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

Die folgenden Beispiele zeigen die Unterschiede zwischen der Version von 314.cs, die zur Bezeichnung release gehören, und der Version, die zu Changeset 3200 gehört.

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

-oder-

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

Im folgenden Beispiel wird der Unterschied zwischen den Versionen von e271.cs angezeigt, auf denen ein Benutzer mit dem Namen Pat in Regalen PeerCodeReview8 und der Basis-Regale-Version, auf der sie ihre Änderungen basieren. Die Ausgabe zeigt auch die Arten von Änderungen an, die gegen e271.cs ausstehen, wenn der Benutzer eingestellt wurde.

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

Im folgenden Beispiel werden die Unterschiede zwischen allen Dateien im PeerCodeReview2-Regalset und der Basis-Regale-Version dieser Dateien angezeigt.

c:\projects> tf difference /shelveset:PeerCodeReview2