Commande Différence
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Team Foundation Version Control (TFVC) difference
commande compare, et, si possible, affiche les différences entre deux fichiers, fichiers dans deux dossiers ou un ensemble de rayons et un fichier local ou serveur.
Conditions préalables
Pour utiliser la commande difference
, disposez de l’autorisation Lecture pour tous les éléments spécifiés définis sur Autoriser. 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 de serveur locaux et Azure DevOps.
Pour plus d’informations sur la façon dont TFVC analyse l'itemspec
pour déterminer quels éléments se trouvent dans l’étendue, consultez Utiliser les commandes de contrôle de version Team Foundation.
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>
Optionnel. Élément auquel le itemspec
doit être comparé. Si vous ne fournissez pas de deuxième 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 codes ou le nom convivial d’une page de codes.
<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 une spécification de version pour déterminer quels éléments se trouvent dans son étendue, consultez Utiliser les commandes de contrôle de version Team Foundation.
<shelvesetowner>
Identifie le propriétaire du jeu de rayons par nom d’utilisateur. Si une valeur pour ce paramètre n’est pas fournie, l’utilisateur actuel est supposé.
<shelvesetname>
Spécifie le nom d’un ensemble de rayons. Vous pouvez créer plusieurs rayons avec le même nom sur le serveur qui exécute TFVC tant qu’un utilisateur différent possède chaque ensemble de rayons.
<shelveset_itemspec>
Spécifie le nom d’un dossier ou d’un fichier dans le jeu d’étagères à comparer à la version du jeu d’étagères de base.
<username>
Fournit une valeur à l’option /login
. Vous pouvez spécifier une valeur de nom d’utilisateur comme DOMAIN\username
ou username
.
Options
option
Description
/type
Remplace 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’espace blanc entre les fichiers comparés.
/ignoreeol
Ignore les différences entre les nouveaux caractères de ligne dans deux fichiers ou versions de fichiers.
/ignoreeol
fonctionne différemment de ignorespace
, qui traite huit espaces identiquement à un. Toutefois, si vous utilisez l’option /ignoreeol
et Fichier A a deux nouveaux caractères de ligne entre des zones de texte inchangées et fichier B en a une, le résultat s’affiche comme une différence. Si les deux fichiers n’ont qu’une nouvelle ligne, mais fichier A utilise \r\n
comme nouvelle ligne et Fichier B utilise \n
, l’option /ignoreeol
ignorerait cela comme une différence.
/ignorecase
Ne met pas en évidence les différences de casse de lettre 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 que l’outil soit appelé 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 ensemble de rayons à comparer à la version du serveur Azure DevOps sur laquelle repose l’ensemble de rayons.
Cette option ne peut pas être combinée avec un argument itemspec
. Pour comparer des éléments de étagères individuels, vous pouvez fournir un shelveset_itemspec
.
/noprompt
Supprime toutes les boîtes de dialogue qui s’affichent autrement pendant l’achèvement de 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.
Remarques
Note
Vous pouvez taper tf diff
ou tf difference
à 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 ensemble de rayons sur le serveur Azure DevOps.
Vous pouvez utiliser la commande difference
pour comparer les fichiers versionnés et non versionnés.
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 identiques, 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 si les différences existent entre elle 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 passez une seule itemspec
à la commande de différence :
Si vous ne fournissez pas de
versionspec
, votre version actuelle de l’espace de travail de l’élément est comparée à la version de l’espace de travail de base, par défaut. Par exemple,tf difference header.h
compare la version actuelle de header.h à la version sur laquelle header.h est basé.Si vous incluez un
versionspec
dans votreitemspec
, par exempletf difference header.h;LBeta1
, TFVC compare cette version à la version actuelle de votre espace de travail sur le disque.Si vous spécifiez une plage de versions telles que
/version:C1~C4
, les versions du fichier sur les 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 contrôle de version Team Foundation.
Types de format de sortie
Le paramètre format
, utilisé avec l’option /format
, spécifie de nombreux formats de sortie différents. Les types de sortie suivants sont disponibles :
Visual
type de format ouvre une application de différence externe. Par défaut, diffmerge.exe est lancée.Brief
format imprime si les fichiers comparés diffèrent.Context
format fournit des lignes de contexte pour les différences dans les fichiers. Ce format est dérivé du format de sortiediff -c
basé sur UNIX.RCS
format est similaire à/format:unix
, sauf que les lignes de contexte ne sont pas fournies. Aucun transfert spécial pour une fin de trait manquante à la fin du fichier est fourni.SS
est le format de sortie de différence par défaut pour Visual SourceSafe. Pour plus d’informations, consultez Diff (ligne de commande).SS_SideBySide
est le format de sortie côte à côte par défaut pour Visual SourceSafe.SS_Unix
est similaire au format de sortie/format:unix
, mais/format:ss_unix
inclut des lignes de contexte et/format:unix
ne le fait pas.Unified
format est dérivé du format de sortiediff -u
basé sur UNIX./format:context
répète des lignes de contexte identiques entre les chaînes de différence, mais/format:unified
ne le fait pas.Unified
format produit une nouvelle ligne de différence unifiée (@@ ... @@
) uniquement lorsque la distance à la chaîne de différence suivante est supérieure au nombre de lignes de contexte.Unix
type de sortie est dérivé du format de sortie de commande unixdiff
.Le format de sortie
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 à partir 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
c:\projects>tf difference src /format:visual
L’exemple suivant affiche les différences entre le jeu de modifications 3 et le jeu de modifications 8 de 1254.cs.
c:\projects>tf difference /version:C3~C8 1254.cs
Les exemples suivants affichent les différences entre la version de 314.cs qui appartiennent à l’étiquette release
et la version qui appartient au jeu 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 comment afficher la différence entre les versions de e271.cs qu’un utilisateur nommé Pat a enregistré dans l’ensemble de étagères PeerCodeReview8
et la version de l’ensemble de étagères de base sur laquelle ils ont basé leurs modifications. La sortie affiche également les types de modifications en attente par rapport à e271.cs
lorsque l’utilisateur a enregistré.
c:\projects> tf difference /shelveset:PeerCodeReview8;Pat e271.cs
L’exemple suivant affiche les différences entre tous les fichiers du jeu d’étagères PeerCodeReview2
et la version de l’ensemble de rayons de base de ces fichiers.
c:\projects> tf difference /shelveset:PeerCodeReview2