Folderdiff-Befehl (Team Foundation-Versionskontrolle)

Azure Repos | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018-TFS 2013

Visual Studio 2019 | Visual Studio 2017 | Visual Studio 2015 | Visual Studio 2013

Verwenden Sie den 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 Befehl folderdiff verwenden zu können, muss die Berechtigung Lesen auf Zulassen festgelegt sein. 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

Argument

Argument

Beschreibung

sourcePath

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

Targetpath

Der lokale Pfad oder Serverpfad, der der Zielpfad im Vergleichsvorgang ist.

filter

Gibt eine durch Semikolons getrennte Liste von Einschluss- und Ausschlussfiltermasken für die Option /filter an. Der Standardwert ist "*" (alle enthalten). Der Abschnitt "Hinweise" in diesem Thema enthält eine ausführliche Beschreibung der Filter und Masken.

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 dar. Sie können einen Benutzernamenwert entweder als DOMAIN\UserName oderUserName angeben.

Option

Option

Beschreibung

/recursive

Optional. Gibt an, dass die beiden Ordner rekursiv vollständig verglichen werden.

/noprompt

Optional. tf folderdiff wird ohne Anzeige der Benutzeroberfläche ausgeführt. Die Ausgabe wird stattdessen 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 zu vergleichen.

/filterLocalPathsOnly

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

/view

Optional. Gibt an, welche Informationen in der Ausgabe enthalten sind, indem eine durch Komma getrennte Liste der folgenden Werte verwendet wird:

same-output zeigt Dateien mit demselben Inhalt in Quell- und Zielverzeichnissen an.

different-output zeigt Dateien mit unterschiedlichen Inhalten in Quell- und Zielverzeichnissen an.

sourceOnly-output zeigt Dateien an, die nur im Quellverzeichnis vorhanden sind.

targetOnly-output zeigt Dateien an, die nur im Zielverzeichnis vorhanden sind.

Der Standardwert ist "different,sourceOnly,targetOnly"

/collection

Gibt die Projektsammlung an.

/login

Gibt den Benutzernamen und das Kennwort zum Authentifizieren des Benutzers mit Azure DevOps.

Hinweise

Im Eingabeaufforderungsfenster wird die Ausgabe angezeigt, wenn Sie /noprompt angeben. Andernfalls wird im Fenster Ordnerunterschied die Ausgabe angezeigt. Wenn das System den lokalen zugeordneten Ordner mit dem Serverordner vergleicht, dem er zugeordnet ist, enthält die Ausgabe im Fenster Ordnerunterschied eine Liste der ausstehenden Änderungen. Außerdem wird in der Ausgabe im Fenster Ordnerunterschied angezeigt, ob der lokale Ordner die neueste Kopie enthält oder nicht.

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 unterschiedlichen Inhalten.

  • Elemente mit identischem Inhalt (Sie müssen das gleiche Argument mit der Option /view angeben).

  • Zusammenfassung.

Datei- und Ordnerfilter

Ein Filter ist eine geordnete Liste von Namensmasken, die mit dem Namen der zu vergleichenden Dateien und Ordner übereinstimmen. Jede Maske kann die Platzhalterzeichen Fragezeichen (?) und Sternchen (*) enthalten. "?" entspricht genau einem Zeichen, und "*" entspricht 0 (null) oder mehr Zeichen. Die Masken in einem Filter sind durch Semikolons (;). Ordnermasken müssen mit einem schrägen Schrägstrich (\) enden. Um eine Ausschlussmaske anzugeben, stellen Sie der Maske ein Ausrufezeichen (!) voran.

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

  • Wenn sowohl Datei- als auch Ordnermasken zusammen in einem Filter angegeben werden, werden die Dateimasken in eine Dateimaskenliste und die Ordnermasken in die Ordnermaskenliste getrennt. Dateimasken werden nur auf Dateinamen angewendet. Ordnermasken werden nur auf Ordnernamen angewendet.

  • Wenn der Befehl einem Datei- oder Ordnernamen entspricht, vergleicht er den Namen mit jeder Maske im Filter in der angegebenen Reihenfolge. Sobald der Name einer Maske entspricht, wird der Name als Übereinstimmung betrachtet.

  • Wenn die Dateimasken im Filter eine Einschlussmaske enthalten, werden Dateien ausgeschlossen, die mit keinen der Dateimasken übereinstimmen.

  • Wenn die Dateimasken im Filter nur Ausschlussmasken enthalten, werden Dateien eingeschlossen, die mit keinen der Dateimasken übereinstimmen.

  • Wenn die Ordnermasken im Filter eine Einschlussmaske enthalten, werden Ordner ausgeschlossen, die nicht mit einer der Ordnermasken übereinstimmen.

  • Wenn die Ordnermasken im Filter nur Ausschlussmasken enthalten, werden Ordner eingeschlossen, die nicht mit einer der Ordnermasken übereinstimmen.

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 Ressourcenordner und alle Dateien in Ordnern aus, deren Name das Wort "Junk" enthält.

Weitere Informationen zum Suchen des Tf-Befehlszeilenprogramms finden Sie unter Verwenden von Team Foundation-Befehlen für die Versionskontrolle.

Beispiele

Im folgenden Beispiel werden die Dateien im Serverordner und ein lokaler Ordner verglichen. Sie organisiert die Dateien im localFolder rekursiv und zeigt die Ausgabe im Eingabeaufforderungsfenster an.

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