Commande Difference
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
La commande difference
de Team Foundation Version Control (TFVC) compare et, si possible, affiche les différences entre deux fichiers, des fichiers dans deux dossiers ou entre un jeu de réservations et un fichier local ou un fichier serveur.
Prérequis
Pour utiliser la commande difference
, l’autorisation Lecture doit être définie sur Autoriser pour tous les éléments spécifiés. Pour plus d’informations, consultez Autorisations TFVC par défaut.
Syntaxe
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
Paramètres
Arguments
Argument
Description
<itemspec>
Obligatoire. Spécifie l’élément à comparer. Si aucune version ou chemin d’accès n’est spécifié, la version actuelle de l’espace de travail est supposée. Accepte les chemins d’accès au serveur local et Azure DevOps.
Pour plus d’informations sur la façon dont TFVC analyse les itemspec
pour déterminer quels éléments se trouvent dans l’étendue, consultez Utiliser les commandes de Team Foundation Version Control.
La commande difference
ne prend pas en charge les caractères génériques.
Ce paramètre ne peut pas être combiné avec l’option /shelveset
.
<itemspec2>
facultatif. Élément auquel doit itemspec
être comparé. Si vous ne fournissez pas de seconde itemspec
, la dernière version du serveur Azure DevOps de l’élément est utilisée.
<filetype>
Fournit une valeur pour l’option /type
. Vous pouvez spécifier binary
ou text
et un numéro de page de code ou le nom convivial d’une page de code.
<format>
Utilisé avec l’option /format
pour spécifier un format de sortie de l’un des types suivants :
Visual
Brief
Context
RCS
SS
SS_SideBySide
SS_Unix
Unified
Unix
Ces formats de sortie sont expliqués dans la section Remarques.
<versionspec>
Valeur fournie par l’utilisateur pour l’option /version
. Pour plus d’informations sur la façon dont TFVC analyse les spécifications d’une version pour déterminer quels éléments se trouvent à sa portée, consultez Utiliser les commandes de gestion de version de Team Foundation.
<shelvesetowner>
Identifie le propriétaire du jeu de réservations avec un nom d’utilisateur. Si aucune valeur n’est fournie pour ce paramètre, l’utilisateur actuel est supposé.
<shelvesetname>
Spécifie le nom d’un jeu de réservations. Vous pouvez créer plusieurs jeux de réservations portant le même nom sur le serveur qui exécute TFVC tant qu’un utilisateur différent possède chaque jeu de réservations.
<shelveset_itemspec>
Spécifie le nom d’un dossier ou d’un fichier dans le jeu de réservations à comparer à la version du jeu de réservations de base.
<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
/type
Remplace tous les encodages détectés et utilise l’encodage spécifié pour présenter les fichiers au moteur de différenciation.
/version
Spécifie la version du fichier ou du dossier à comparer. Par défaut, TFVC utilise la version de l’espace de travail si vous ne fournissez pas de versionspec
.
Au lieu d’utiliser l’indicateur /version
, vous pouvez spécifier des versions en ajoutant un point-virgule et un spécificateur de version à la fin de chaque nom de fichier.
/format
Spécifie un format de sortie spécifié par l’argument format
.
/ignorespace
Ne met pas en évidence les différences d’espaces blancs entre les fichiers comparés.
/ignoreeol
Ignore les différences entre les nouveaux caractères de ligne dans deux fichiers ou versions de fichier. /ignoreeol
fonctionne différemment de ignorespace
, qui traite huit espaces comme un seul. Toutefois, si vous utilisez l’option /ignoreeol
et que le fichier A a deux nouveaux caractères de ligne entre des zones de texte inchangées et que le fichier B en a une, le résultat s’affiche comme une différence. Si les deux fichiers ont une seule nouvelle ligne, mais que le fichier A utilise \r\n
comme nouvelle ligne et que le fichier B utilise \n
, l’option /ignoreeol
ignorerait cette différence.
/ignorecase
Ne met pas en évidence les différences de casse des lettres entre les fichiers comparés.
/recursive
Compare les différences entre le dossier actif et tous ses sous-dossiers.
/options
Spécifie une chaîne d’option pour l’outil à appeler par difference
. Pour plus d’informations, consultez Associer un type de fichier à un outil de différence et Associer un type de fichier à un outil de fusion.
/shelveset
Spécifie un jeu de réservations à comparer à la version du serveur Azure DevOps sur laquelle se base le jeu de réservations.
Cette option ne peut pas être combinée avec l’argument itemspec
. Pour comparer des éléments individuels d’un jeu de réservations, vous pouvez fournir un shelveset_itemspec
.
/noprompt
Supprime toutes les boîtes de dialogue qui sinon s’afficheraient pendant cette opération.
/configure
Appelle la boîte de dialogue Configurer les outils utilisateur à partir de l’interface utilisateur de Visual Studio. Pour plus d’informations, consultez Associer un type de fichier à un outil de différence.
/login
Spécifie le nom d’utilisateur et le mot de passe pour authentifier l’utilisateur auprès de TFVC.
Notes
Notes
Vous pouvez taper tf diff
ou tf difference
sur la ligne de commande pour exécuter cette commande.
Vous pouvez utiliser la commande difference
pour comparer et, si possible, afficher les différences entre :
Deux fichiers différents ou deux versions du même fichier.
Un ou plusieurs des éléments d’un dossier.
Un, certains ou tous les éléments d’un jeu de réservations sur le serveur Azure DevOps.
Vous pouvez utiliser la commande difference
pour comparer les fichiers avec version et sans version.
TFVC classe tous les fichiers par type. Les fichiers texte peuvent être fusionnés et comparés, côte à côte et ligne par ligne, tant que les deux fichiers ont le même encodage. Si vous souhaitez comparer deux fichiers dont les encodages ne sont pas les mêmes, vous pouvez masquer ou remplacer temporairement la propriété d’encodage d’un fichier à l’aide de l’option /type
.
Les fichiers binaires peuvent être comparés, mais ne peuvent pas être fusionnés. Lorsque vous transmettez un ou plusieurs fichiers binaires à la commande difference
, TFVC indique s’il existe des différences entre celui-ci et l’élément auquel il est comparé. Pour plus d’informations sur la façon dont TFVC différencie et traite les fichiers de différents types, consultez Gestion des types de fichiers.
Si vous spécifiez deux noms de fichiers, les deux fichiers sont comparés. Au lieu d’utiliser l’indicateur /version, vous pouvez spécifier des versions en ajoutant un point-virgule et un spécificateur de version à la fin de chaque nom de fichier.
Si vous ne transmettez qu’une seule itemspec
à la commande Difference :
Si vous ne fournissez pas de
versionspec
, par défaut, c’est la version actuelle de votre espace de travail de l’élément qui est comparée à la version de l’espace de travail de base. Par exemple,tf difference header.h
compare la version actuelle de header.h à la version sur laquelle header.h se base.Si vous incluez une
versionspec
dans votreitemspec
, partf difference header.h;LBeta1
exemple, TFVC compare cette version à la version actuelle de votre espace de travail sur disque.Si vous spécifiez une plage de versions telles que
/version:C1~C4
, les versions du fichier aux deux points de terminaison de la plage sont comparées.
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.
Types de format de résultat
Le paramètre format
, utilisé avec l’option /format
, spécifie de nombreux formats de sortie différents. Les types de résultats suivants sont disponibles :
Le type de format
Visual
ouvre une application de différence externe. Par défaut, diffmerge.exe est lancé.Le format
Brief
affiche si les fichiers comparés diffèrent.Le format
Context
fournit des lignes de contexte pour les différences dans les fichiers. Ce format est dérivé du format de résultatdiff -c
basé sur UNIX.Le format
RCS
est similaire à/format:unix
, sauf que les lignes de contexte ne sont pas fournies. Aucune remise spéciale pour un marqueur de fin de ligne manquant à la fin du fichier n’est fournie.SS
est le format de résultat de différence par défaut pour Visual SourceSafe. Pour plus d’informations, consultez Diff (ligne de commande).SS_SideBySide
est le format de résultat côte à côte par défaut pour Visual SourceSafe.SS_Unix
est similaire au format de résultat/format:unix
, mais/format:ss_unix
inclut des lignes de contexte et/format:unix
non.Le format
Unified
est dérivé du format de résultatdiff -u
basé sur UNIX./format:context
répète des lignes de contexte identiques entre les chaînes de différence, contrairement à/format:unified
.Le format
Unified
génère une nouvelle ligne de chaîne de différence unifiée (@@ ... @@
) uniquement lorsque la distance par rapport à la chaîne de différence suivante est supérieure au nombre de lignes de contexte.Le type de résultat
Unix
est dérivé du format de résultat de la commandediff
basée sur UNIX .Le format de résultat
Unix
est construit de la manière suivante :<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
Exemples
L’exemple suivant affiche les différences entre la version locale de 314.cs et la version de l’espace de travail de 314.cs qui est la version du fichier extrait du serveur Azure DevOps.
c:\projects>tf difference 314.cs
L’exemple suivant affiche tous les fichiers qui ont été modifiés dans le dossier src, mais n’affiche pas les fichiers qui ont été modifiés dans les sous-dossiers de src.
c:\projects>tf difference src /format:visual
L’exemple suivant affiche les différences entre l’ensemble de modifications 3 et l’ensemble de modifications 8 de 1254.cs.
c:\projects>tf difference /version:C3~C8 1254.cs
Les exemples suivants illustrent les différences entre la version 314.cs qui appartient à l’étiquette release
et la version qui appartient à l’ensemble de modifications 3200.
c:\projects>tf difference 314.cs;Lrelease 314.cs;C3200
-ou-
c:\projects>tf difference 314.cs;Lrelease~C3200
L’exemple suivant montre la différence entre les versions d’e271.cs qu’un utilisateur nommé Pat a conservées dans le jeu de réservations PeerCodeReview8
et la version de jeu de réservations de base sur laquelle il a basé ses modifications. Le résultat montre également les types de modifications en attente par rapport à e271.cs
au moment où l’utilisateur a effectué la réserve.
c:\projects> tf difference /shelveset:PeerCodeReview8;Pat e271.cs
L’exemple suivant affiche les différences entre tous les fichiers du jeu de réservations PeerCodeReview2
et la version du jeu de réservations de base de ces fichiers.
c:\projects> tf difference /shelveset:PeerCodeReview2