Difference, commande

Compare, et si possible, affiche les différences entre deux fichiers, des fichiers dans deux dossiers, ou un jeu de réservations et un fichier local ou de serveur.

Autorisations requises

Pour utiliser la commande difference, vous devez disposer de l'autorisation Lire pour tous les éléments spécifiés avec la valeur Autoriser. Pour plus d'informations, consultez Autorisations de Team Foundation Server.

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

Argument

Description

itemspec

Obligatoire. Spécifie l'élément à comparer. Si aucune version ni chemin d'accès n'est spécifié, la version d'espace de travail actuelle est prise par défaut. Accepte à la fois les chemins d'accès locaux et les chemins d'accès au serveur du contrôle de version Team Foundation.

Pour plus d'informations sur la façon dont Team Foundation analyse les spécifications d'éléments afin de déterminer quels éléments se trouvent dans la portée, consultez Syntaxe de ligne de commande (Contrôle de version).

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 la spécification d'éléments (itemspec) sera comparée. Si vous ne fournissez pas une deuxième spécification d'éléments (itemspec), c'est la version de serveur du contrôle de version Team Foundation la plus récente de l'élément qui est utilisée.

Filetype

Fournit une valeur pour l'option /type. Vous pouvez spécifier « binaire » ou « texte », ainsi qu'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

  • Contexte

  • RCS

  • SS

  • SS_SideBySide

  • SS_Unix

  • Unifié

  • Unix

Ces formats de sorties sont expliqués dans la section Notes de cette rubrique.

Versionspec

Valeur fournie par l'utilisateur pour l'option /version. Pour plus d'informations sur la façon dont Team Foundation analyse une spécification de version afin de déterminer quels éléments se trouvent dans sa portée, consultez Syntaxe de ligne de commande (Contrôle de version).

Shelvesetowner

Identifie le propriétaire du jeu de réservations par nom d'utilisateur. Si aucune valeur n'est fournie pour ce paramètre, l'utilisateur actuel est pris par défaut.

Shelvesetname

Spécifie le nom d'un jeu de réservations. Vous pouvez créer plusieurs jeux de réservations avec le même nom sur le serveur qui exécute Team Foundation Server dans la mesure où l'utilisateur qui possède chaque jeu de réservations est différent.

Shelveset_itemspec

Spécifie le nom d'un dossier ou d'un fichier du jeu de réservations à comparer à la version de base du jeu de réservations.

username

Fournit une valeur pour l'option /login. Vous pouvez spécifier une valeur de nom d'utilisateur comme DOMAINE\NomUtilisateur ou NomUtilisateur.

Option

Description

/type

Substitue tous les encodages détectés et utilise l'encodage spécifié pour présenter les fichiers au moteur de comparaison.

/version

Spécifie la version du fichier ou du dossier à comparer. Par défaut, Team Foundation 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 surbrillance les différences d'espace blanc entre les fichiers comparés.

/ignoreeol

Ignore les différences entre les caractères de nouvelle ligne dans deux fichiers ou des versions de fichiers. /ignoreeol ne fonctionne pas de la même façon que /ignoreSpace. /ignorespace traite huit espaces ou un espace de la même façon. Toutefois, si vous utilisez l'option /ignoreeol alors que le Fichier A comporte deux caractères de retour à la ligne entre des zones de texte inchangées et que le Fichier B n'en possède qu'un, le résultat montre une différence. Si les deux fichiers n'ont qu'un seul retour à la ligne, mais que le Fichier A utilise \r\n comme retour à la ligne et que le Fichier B utilise \n, l'option /ignoreEOL ne distingue aucune différence.

/ignorecase

Ne met pas en surbrillance les différences de casse 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 diff. Pour plus d'informations, consultez Associer un type de fichier à un outil de comparaison et Associer un type de fichier à un outil de fusion.

/shelveset

Spécifie un jeu de réservations à comparer à la version de serveur du contrôle de version Team Foundation sur laquelle le jeu de réservations est basé.

Cette option ne peut pas être combinée avec un argument itemspec. Pour comparer des éléments individuels d'un jeu de réservations, vous pouvez fournir une shelveset_itemspec.

/noprompt

Supprime toutes les boîtes de dialogue normalement affichées au cours de cette opération.

/configure

Appelle la boîte de dialogue Configurer les outils utilisateur. Cet outil est disponible dans l'interface utilisateur de Visual Studio. Pour plus d'informations, consultez Associer un type de fichier à un outil de comparaison.

/login

Spécifie le nom d'utilisateur et le mot de passe pour authentifier l'utilisateur avec Team Foundation Server.

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 Team Foundation Server.

Vous pouvez utiliser la commande difference pour comparer des fichiers avec ou sans version.

Team Foundation classe tous les fichiers par type. Les fichiers texte peuvent être fusionnés et comparés, côte à côte et ligne par ligne, à condition d'avoir le même encodage. Si vous souhaitez comparer deux fichiers dont les encodages ne sont pas les mêmes, vous pouvez masquer temporairement ou substituer la propriété de codage d'un fichier à l'aide de l'option /type. Les fichiers binaires peuvent être comparés, mais pas fusionnés. Lorsque vous exécutez la commande de différence sur un ou plusieurs fichiers binaires, Team Foundation indique la présence de différences entre eux et les éléments auxquels ils sont comparés. Pour plus d'informations sur la façon dont Team Foundation différencie et traite des fichiers de types disparates, 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 soumettez qu'une spécification d'éléments (itemspec) à la commande de différence :

  • Si vous ne fournissez pas de spécification de version (versionspec), votre version d'espace de travail actuelle de l'élément est comparée à la version d'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 une spécification de version (versionspec) dans votre spécification d'éléments (itemspec), telle que tf difference header.h;LBeta1, Team Foundation compare cette version à votre version d'espace de travail actuelle sur le disque.

  • Si vous spécifiez une plage de versions telle que /version:C1~C4, les versions du fichier aux deux points de terminaison de la plage sont comparées.

Pour plus d'informations sur la localisation de l'utilitaire en ligne de commande tf, consultez Commandes de l'utilitaire en ligne de commande Tf.

Types de formats de sortie

Le paramètre format, utilisé avec l'option /format, spécifie un grand nombre de formats de sortie différents. Les types de sortie disponibles sont les suivants.

  • Visual

    Le type de format Visual ouvre une application de différenciation externe. Par défaut, diffmerge.exe est lancé.

  • Brief

    Le format concis indique si les fichiers comparés sont différents.

  • Context

    Le format Context fournit des lignes de contexte pour les différences entre les fichiers. Ce format est dérivé du format de sortie diff –c basé sur UNIX.

  • RCS

    Le format RCS est semblable au format /format:unix, sauf qu'aucune ligne de contexte n'est fournie.

    Aucun mode de gestion spécial n'est fourni en cas d'absence de marqueur de fin de ligne à la fin du fichier.

  • SS

    SS est le format de sortie de différence par défaut pour Visual SourceSafe. Pour plus d'informations, consultez « Diff (File) (ligne de commande) » sur le site Web Microsoft (https://go.microsoft.com/fwlink/?LinkId=99139).

  • SS_SideBySide

    SS_SideBySide est le format de sortie côte à côte par défaut pour Visual SourceSafe.

  • SS_Unix

    SS_Unix est semblable au format de sortie /format:unix, mais /format:ss_unix comprend des lignes de contexte, contrairement à /format:unix.

  • Unified

    Le format de Unified est dérivé du format de sortie UNIX de diff –u. /format:context répète les lignes de contexte identiques entre les chaînes différentes, contrairement à /format:unified.

    Le format Unified ne produit une nouvelle ligne de chaînes de différences unifiée (@ @... @ @) que lorsque la distance jusqu'à la chaîne de différences suivante est supérieure au nombre de lignes de contexte.

  • Unix

    Ce type de sortie est dérivé du format de sortie de commande diff basé sur UNIX.

    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 seprated by commas indicate a line range.
    # signs before the character indicate line numbers in the first file
    # signs after the character indidicate 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 sa version d'espace de travail, c'est-à-dire la version du fichier extraite du serveur du contrôle de version Team Foundation.

c:\projects>tf difference 314.cs

L'exemple suivant affiche tous les fichiers modifiés dans le dossier src. N'affiche pas les fichiers modifiés dans les sous-dossiers de src.

c:\projects>tf difference src /format:visual

L'exemple suivant affiche les différences entre les ensembles de modifications 3 et 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 appartenant à l'étiquette "version finale" et la version appartenant à 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 affiche la différence entre les versions d'e271.cs qu'une utilisatrice nommée Nadia a réservées dans le jeu de réservations PeerCodeReview8 et la version du jeu de réservations de base, c'est-à-dire la version à partir de laquelle Nadia a effectué ses modifications. Affiche également les types de modifications en attente concernant e271.cs au moment de sa réservation par Nadia.

c:\projects> tf difference /shelveset:PeerCodeReview8;Nadia 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

Voir aussi

Référence

Merge, commande

Checkin, commande

Shelvesets, commande

Concepts

Gestion des types de fichiers

Autres ressources

Commandes de l'utilitaire en ligne de commande Tf

Comparaison de dossiers et de fichiers