Commande folderdiff (Team Foundation Version Control)

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

Visual Studio 2019 | Visual Studio 2022

Utilisez la commande TFVC folderdiff pour afficher et comparer une représentation visuelle des différences entre les fichiers dans deux dossiers serveur, dans un dossier serveur et un dossier local, ou dans deux dossiers locaux.

Prérequis

Pour utiliser la commande folderdiff, l’autorisation Lire doit être définie sur Autoriser. Pour plus d’informations, consultez Autorisations TFVC par défaut.

Syntaxe

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

Paramètres

Arguments

Argument

Description

<sourcePath>

Chemin d’accès source local ou serveur dans l’opération de comparaison. Si cet argument n’est pas fourni et targetPath est le chemin d’accès mappé local, sourcePath est le chemin serveur auquel il est mappé.

<targetPath>

Chemin d’accès cible local ou serveur dans l’opération de comparaison.

<filter>

Liste délimitée par des points-virgules de masques de filtre d’inclusion et d’exclusion pour l’option /filter. La valeur par défaut est *, ou tout inclure. Consultez Remarques pour obtenir une description détaillée des filtres et des masques.

<TeamProjectCollectionUrl>

URL de la collection de projets qui contient les fichiers pour lesquels vous souhaitez afficher et comparer les différences, par exemple http://myserver:8080/tfs/DefaultCollection.

<username>

Fournit une valeur à l’option /login. Vous pouvez spécifier une valeur de nom d’utilisateur en tant que DOMAIN\username ou username.

Options

Option

Description

/recursive

Optionnel. Compare entièrement les deux dossiers de manière récursive.

/noprompt

facultatif. Exécute tf folderdiff sans afficher le résultat dans la fenêtre Différence des dossiers de Visual Studio. La fenêtre d’invite de commandes affiche le résultat à la place.

/filter

facultatif. Spécifie une liste de masques d’inclusion et de filtre utilisés pour faire correspondre les noms des fichiers et des dossiers à comparer.

/filterLocalPathsOnly

facultatif. Spécifie que seuls les chemins d’accès locaux seront filtrés, sauf si le chemin d’accès serveur correspondant existe.

/view

facultatif. Spécifie les informations à inclure dans le résultat à l’aide d’une liste des valeurs suivantes, séparées par des virgules :

  • same affiche les fichiers avec le même contenu dans les répertoires source et cible.

  • different affiche les fichiers avec des contenus différents dans les répertoires source et cible.

  • sourceOnly affiche les fichiers qui existent uniquement dans le répertoire source.

  • targetOnly affiche les fichiers qui existent uniquement dans le répertoire cible.

Par défaut, il s’agit de different,sourceOnly,targetOnly.

/collection

Spécifie la collection de projets.

/login

Spécifie le nom d’utilisateur et le mot de passe pour authentifier l’utilisateur auprès d’Azure DevOps.

Notes

La fenêtre d’invite de commandes affiche le résultat si vous spécifiez /noprompt. Sinon, la fenêtre Différence de dossier de Visual Studio affiche le résultat.

Lorsque le système compare le dossier local mappé au dossier serveur auquel il est mappé, le résultat affiché dans la fenêtre Différence de dossier inclut une liste des modifications en attente. En outre, le résultat affiché dans la fenêtre Différence de dossier vous indique si le dossier local contient la dernière copie.

Le résultat affiché dans la fenêtre d’invite de commandes répertorie tous les fichiers des dossiers dans les cinq sections suivantes :

  • Éléments qui existent uniquement dans le dossier serveur.
  • Éléments qui existent uniquement dans le dossier local.
  • Éléments qui ont un contenu différent.
  • Éléments qui ont un contenu identique. Vous devez spécifier l’option /view pour l’argument same. .
  • Résumé.

Filtres de fichiers et de dossiers

Un filtre est une liste ordonnée de masques de noms utilisée pour faire correspondre le nom des fichiers et des dossiers à comparer. Les masques peuvent contenir le caractère générique de point d’interrogation ? pour correspondre exactement à un caractère, et le caractère générique astérisque * pour correspondre à zéro ou plusieurs caractères.

Vous délimitez les masques dans un filtre à l’aide de points-virgules ;. Les masques de dossiers doivent se terminer par une barre oblique inverse \. Pour spécifier un masque d’exclusion, ajoutez un point d’exclamation ! comme préfixe au masque.

Le filtre de nom s’applique aux noms de fichiers et de dossiers à l’aide des règles suivantes :

  • Lorsqu’un filtre spécifie les masques de fichiers et de dossiers, les masques de fichiers et de dossiers sont séparés en une liste de masques de fichiers et une liste de masques de dossiers. Les masques de fichiers s’appliquent uniquement aux noms de fichiers. Les masques de dossiers s’appliquent uniquement aux noms de dossiers.

  • Pour faire correspondre un nom de fichier ou de dossier, la commande compare le nom à chaque masque dans le filtre dans l’ordre dans lequel il a été spécifié. Dès que le nom correspond à un masque, le nom est considéré comme une correspondance.

  • Si les masques de fichiers dans le filtre contiennent un masque d’inclusion, les fichiers qui ne correspondent à aucun des masques de fichier sont exclus.

  • Si les masques de fichiers dans le filtre contiennent uniquement des masques d’exclusion, les fichiers qui ne correspondent à aucun des masques de fichier sont inclus.

  • Si les masques de dossiers dans le filtre contiennent un masque d’inclusion, les dossiers qui ne correspondent à aucun des masques de dossier sont exclus.

  • Si les masques de dossiers dans le filtre contiennent uniquement des masques d’exclusion, les dossiers qui ne correspondent à aucun des masques de dossier sont inclus.

Le tableau suivant répertorie des exemples de masques de nom de filtre.

Masque de nom Description
*.cs Correspond à tous les fichiers C#.
My*.bmp Correspond à tous les fichiers bitmap qui commencent par My.
!*.exe Exclut tous les fichiers exécutables.
!objd\ Exclut tous les dossiers objd.

Le tableau suivant répertorie des exemples de filtres.

Filter Description
*.cs;!objd\;!obj\;!bin\ Correspond à tous les fichiers C# sauf ceux des dossiers objd, obj ou bin.
!*.resx;!*.ini;!resources\;!*junk*\ Exclut tous les fichiers .resx et .ini, tous les fichiers du dossier ressources, et tous les fichiers contenus dans tout dossier dont le mot contient junk.

Pour plus d’informations sur l’utilisation de l’utilitaire de ligne de commande tf, consultez Utiliser les commandes de gestion de version Team Foundation.

Exemples

L’exemple suivant compare les fichiers dans le dossier serveur et un dossier local, organise les fichiers dans le dossier local de manière récursive et affiche le résultat dans la fenêtre d’invite de commandes.

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

Étapes suivantes