Folderdiff-Befehl (Team Foundation-Versionskontrolle)

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

Visual Studio 2019 | Visual Studio 2022

Verwenden Sie den TFVC-Befehl folderdiff, um eine visuelle Darstellung der Unterschiede zwischen Dateien in zwei Serverordnern, in einem Serverordner und einem lokalen Ordner oder in zwei lokalen Ordnern anzuzeigen und zu vergleichen.

Voraussetzungen

Um den folderdiff-Befehl zu verwenden, müssen Sie die Leseberechtigung auf Zulassen festlegen. Weitere Informationen finden Sie unter TFVC-Standardberechtigungen.

Syntax

tf folderdiff [sourcePath] targetPath [/recursive] [/noprompt] [/collection:TeamProjectCollectionUrl] [/filter:filter] [/filterLocalPathsOnly] [/login:username,[password]] [/view:same,different,sourceOnly,targetOnly]

Parameter

Argumente

Argument

Beschreibung

<sourcePath>

Der lokale Quellpfad oder Serverquellpfad im Vergleichsvorgang. Wenn dieses Argument nicht angegeben wird und targetPath der lokal zugeordnete Pfad ist, ist sourcePath der zugeordnete Serverpfad.

<targetPath>

Der lokale Zielpfad oder Serverzielpfad im Vergleichsvorgang.

<filter>

Eine durch Semikola getrennte Liste von Einschluss- und Ausschlussfiltermasken für die /filter-Option. Der Standardwert ist * oder alle einschließen. Eine ausführliche Beschreibung der Filter und Masken finden Sie unter Hinweise.

<TeamProjectCollectionUrl>

Die URL der Projektsammlung, die die Dateien enthält, für die Sie die Unterschiede anzeigen und vergleichen möchten, z. B.http://myserver:8080/tfs/DefaultCollection.

<username>

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

Tastatur

Option

Beschreibung

/recursive

Optional. Vergleicht die beiden Ordner vollständig und rekursiv.

/noprompt

Optional. Führt tf folderdiff aus, ohne die Ausgabe im Visual Studio-Fenster Ordnerunterschied anzuzeigen. Stattdessen wird die Ausgabe im Eingabeaufforderungsfenster angezeigt.

/filter

Optional. Gibt eine Liste der Einschluss- und Filtermasken an, die verwendet werden, um die Namen der zu vergleichenden Dateien und Ordner abzugleichen.

/filterLocalPathsOnly

Optional. Gibt an, dass nur die lokalen Pfade gefiltert werden, es sei denn, der entsprechende Serverpfad ist vorhanden.

/view

Optional. Gibt mithilfe einer durch Trennzeichen getrennten Liste der folgenden Werte an, welche Informationen in die Ausgabe aufgenommen werden sollen:

  • same zeigt Dateien mit demselben Inhalt in sowohl in den Quell- als auch in den Zielverzeichnissen an

  • different zeigt Dateien mit verschiedenem Inhalt sowohl in den Quell- als auch in den Zielverzeichnissen an

  • sourceOnly zeigt Dateien an, die nur im Quellverzeichnis vorhanden sind

  • targetOnly zeigt Dateien an, die nur im Zielverzeichnis vorhanden sind

Der Standardwert lautet different,sourceOnly,targetOnly.

/collection

Gibt die Projektsammlung an.

/login

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

Bemerkungen

Das Fenster der Eingabeaufforderung zeigt die Ausgabe an, wenn /noprompt angegeben wird. Andernfalls wird die Ausgabe im Visual Studio-Fenster Ordnerunterschied angezeigt.

Wenn das System den lokalen zugeordneten Ordner mit dem zugeordneten Serverordner vergleicht, enthält die Ausgabe im Fenster Ordnerunterschied eine Liste der ausstehenden Änderungen. Außerdem erfahren Sie in der Ausgabe im Fenster Ordnerunterschied, ob der lokale Ordner die neueste Kopie enthält.

Die im Eingabeaufforderungsfenster angezeigte Ausgabe listet alle Dateien in den Ordnern in den folgenden fünf Abschnitten auf:

  • Elemente, die nur im Serverordner vorhanden sind
  • Elemente, die nur im lokalen Ordner vorhanden sind
  • Elemente mit unterschiedlichem Inhalt
  • Elemente mit übereinstimmendem Inhalt. Sie müssen das same-Argument mit der Option /view angeben.
  • Zusammenfassung.

Filter für Dateien und Ordner

Ein Filter ist eine geordnete Liste von Namensmasken, die verwendet werden, um die Namen der zu vergleichenden Dateien und Ordner abzugleichen. Masken können das Fragezeichen-Platzhalterzeichen ? enthalten, das genau einem Zeichen entspricht, und das Sternchen-Platzhalterzeichen *, das 0 oder mehr Zeichen entspricht.

Sie trennen die Masken in einem Filter mithilfe von Semikola ;. Ordnermasken müssen mit einem umgekehrten Schrägstrich \ enden. Zum Angeben einer Ausschlussmaske stellen Sie der Maske ein Ausrufezeichen ! voran.

Der Filter wird anhand der folgenden Regeln auf die Datei- und Ordnernamen angewendet:

  • Wenn ein Filter sowohl Datei- als auch Ordnermasken angibt, werden die Datei- und Ordnermasken in eine Dateimaskenliste und eine Ordnermaskenliste aufgeteilt. Dateimasken gelten nur für Dateinamen. Ordnermasken gelten nur für Ordnernamen.

  • Um einen Datei- oder Ordnernamen zuzuordnen, vergleicht der Befehl den Namen in der angegebenen Reihenfolge mit den einzelnen Masken im Filter. Sobald der Name mit einer Maske übereinstimmt, wird der Name als Übereinstimmung betrachtet.

  • Wenn die Dateimasken im Filter eine Einschlussmaske enthalten, werden Dateien ausgeschlossen, die keiner der Dateimasken entsprechen.

  • Wenn die Dateimasken im Filter nur Ausschlussmasken enthalten, werden Dateien einbezogen, die keiner der Dateimasken entsprechen.

  • Wenn die Ordnermasken im Filter eine Einschlussmaske enthalten, werden Ordner ausgeschlossen, die keiner der Ordnermasken entsprechen.

  • Wenn die Ordnermasken im Filter nur Ausschlussmasken enthalten, werden Ordner einbezogen, die keiner der Ordnermasken entsprechen.

In der folgenden Tabelle sind Beispiele für Filternamenmasken aufgeführt.

Namensmaske Beschreibung
*.cs Entspricht allen C#-Dateien.
My*.bmp Entspricht allen Bitmapdateien, die mit My beginnen.
!*.exe Schließt alle ausführbaren Dateien aus.
!objd\ Schließt alle objd-Ordner aus.

In der folgenden Tabelle sind Filterbeispiele aufgeführt.

Filter Beschreibung
*.cs;!objd\;!obj\;!bin\ Entspricht allen C#-Dateien, die sich nicht in den Ordnern objd, obj oder bin befinden.
!*.resx;!*.ini;!resources\;!*junk*\ Schließt alle RESX- und INI-Dateien, alle Dateien im Order resources und alle Dateien in Ordnern aus, deren Name das Wort Junk enthält.

Weitere Informationen zur Verwendung des Befehlszeilenhilfsprogramms tf finden Sie unter Verwenden von Befehlen der Team Foundation-Versionskontrolle.

Beispiele

Im folgenden Beispiel werden die Dateien im Serverordner mit einem lokalen Ordner verglichen, die Dateien im lokalen Ordner rekursiv organisiert und die Ausgabe im Eingabeaufforderungsfenster angezeigt.

tf folderdiff $/<serverFolder> F:\<localFolder> /recursive /noprompt

Nächste Schritte