Associer un type de fichier à un outil de fusion (Team Explorer Everywhere)
Vous pouvez spécifier un ou plusieurs outils que vous souhaitez utiliser pour fusionner des conflits de version. Lorsqu'un conflit se produit, vous pouvez utiliser la version locale ou la version du serveur. Si les modifications n'ont pas été apportées à la même ligne du fichier, vous pouvez utiliser la commande Fusionner automatiquement pour résoudre le conflit. Si vous avez configuré un ou plusieurs outils de fusion externes, vous pouvez fusionner à l'aide d'un outil externe.
Pour plus d'informations sur la résolution des conflits entre les fichiers, consultez Résoudre les conflits entre deux fichiers (Team Explorer Everywhere).
Dans cette rubrique
Outils pris en charge
Configurer des outils externes
Outils de fusion non pris en charge
Autorisations requises
Pour exécuter cette procédure, vous devez être membre du groupe de sécurité Administrateurs ou Utilisateurs sur l'ordinateur où Team Explorer Everywhere est installé.
Outils pris en charge
Les outils externes doivent répondre aux critères suivants pour vous permettre de les utiliser avec Team Explorer Everywhere :
L'outil doit accepter quatre arguments : fichiers d'entrée droit et gauche, ancêtre commun et fichier de sortie de fusion. Les noms de fichiers doivent être spécifiés en tant que chemins d'accès complets.
L'outil doit retourner zéro lorsque les fichiers en conflit ont été fusionnés avec succès et le résultat de fusion a été accepté.
Outre les quatre arguments obligatoires, l'outil peut accepter d'autres arguments. Par exemple, il peut accepter des étiquettes. Les arguments sont présentés en tant que « jetons » dans la configuration, que Team Explorer Everywhere remplacera avant que l'outil de fusion externe ne soit appelé.
Les arguments pour les outils de fusion externes sont délimités par des espaces blancs à moins que vous les mettiez entre guillemets (“”). Utilisez des guillemets anglais doubles pour insérer des guillemets anglais dans une chaîne entre guillemets. Par exemple, vous pouvez spécifier l'argument suivant :
"This "" embeds a double quote"
Les jetons sont implicitement entre guillemets avant d'être passés à l'interpréteur de commandes. Par conséquent, vous n'avez pas à inclure dans un wrapper les jetons % entre guillemets.
Arguments obligatoires
Jeton |
Description |
---|---|
%1 |
Chemin d'accès de la version serveur du fichier (fichier d'origine) |
%2 |
Chemin d'accès de votre version modifiée du fichier (fichier local) |
%3 |
Chemin d'accès de l'ancêtre commun de la ligne de base de ces deux fichiers (fichier commun) |
%4 |
Chemin d'accès du fichier fusionné résultant |
Arguments facultatifs
Jeton |
Description |
---|---|
%5 |
Options de ligne de commande Diff
Remarque
Ce jeton n'est pas utilisé mais est conservé pour la compatibilité avec le client Visual Studio de Visual Studio Team Foundation Server.
|
%6 |
Étiquette du fichier serveur |
%7 |
Étiquette du fichier local |
%8 |
Étiquette du fichier d'ancêtre commun de la ligne de base |
%9 |
Étiquette du fichier fusionné |
Configurer des outils externes
La procédure suivante décrit comment configurer un outil de fusion externe dans le Plug-in Team Foundation Server pour Eclipse. Vous pouvez également configurer un outil externe pour une utilisation avec la commande tf difference. Pour plus d'informations, consultez Configurer un outil externe pour comparer des éléments à partir d'une invite de commandes.
Pour configurer un outil de fusion externe dans le plug-in Team Foundation Server pour Eclipse
Dans le menu Fenêtre, cliquez sur Préférences.
La boîte de dialogue Préférences s'affiche.
Développez le nœud Équipe, développez le nœud Team Foundation Server, puis cliquez sur Outils de fusion.
Dans le volet de résultats, une liste des outils de fusion externes configurés s'affiche. Par défaut, aucun outil de fusion externe n'est configuré.
Cliquez sur Ajouter.
La boîte de dialogue Ajouter un outil de fusion externe s'affiche.
Dans la zone Types de fichiers, spécifiez les extensions de nom de fichier pour lesquelles vous souhaitez utiliser cet outil de fusion.
Vous pouvez spécifier plusieurs extensions séparées par des virgules. Vous pouvez également utiliser le caractère générique (*) pour indiquer que vous souhaitez utiliser cet outil de fusion pour tous les fichiers.
Dans la zone Commande, spécifiez la ligne de commande pour l'outil de fusion que vous souhaitez utiliser.
Cette ligne de commande inclut le chemin d'accès de l'outil de fusion et les arguments que vous souhaitez utiliser avec lui. Vous pouvez cliquer sur Parcourir pour spécifier l'outil de fusion.
Par exemple, pour spécifier l'outil MyDiff pour les fichiers Java, vous pouvez spécifier la ligne de commande suivante :
C:\Program Files\MyDiff\mydiff.exe %3 %2 %1 –o %4
MyDiff vous permet également de spécifier des étiquettes pour chaque fichier. Si vous ne spécifiez pas les étiquettes, MyDiff affichera les noms des fichiers temporaires, qui sont difficiles à lire.
Pour fournir des étiquettes, spécifiez la ligne de commande suivante :
C:\Program Files\MyDiff\mydiff.exe %3 %2 %1 –o %4 --L1 %8 --L2 %7 --L3 %6
Avec cette syntaxe, %8 indique l'étiquette pour le fichier %3, %7 indique l'étiquette pour le fichier %2 et %6 indique l'étiquette pour le fichier %1.
Cliquez sur OK pour ajouter l'outil de fusion.
Cliquez sur OK pour fermer la boîte de dialogue Préférences.
Outils de fusion non pris en charge
Si votre outil de fusion ne satisfait pas les conditions requises, vous pouvez toujours l'utiliser avec Team Explorer Everywhere en créant un script de wrapper.
Par exemple, l'outil de fusion xxdiff ne satisfait pas aux conditions d'utilisation. L'outil n'accepte pas le chemin complet du fichier de sortie de fusion, et il écrit la sortie dans le répertoire actif. Cet outil retourne également 0 si les versions étaient identiques, 1 si les versions sont différentes, et 2 si une erreur s'est produite. Vous pouvez contourner ces problèmes en créant un script de wrapper qui remplace le répertoire actif par l'emplacement d'écriture du fichier de sortie de fusion et qui retourne 0 si le code de sortie était 0 ou 1.
Le script d'interpréteur de commandes sh suivant peut vous permettre d'utiliser xxdiff :
#!/bin/sh
DIR=`dirname $4`
FILE=`basename $4`
cd $DIR && /usr/local/bin/xxdiff $1 $2 $3 -M $FILE
if [ $? = 0 -o $? = 1 ]; then
exit 0
fi
exit $?
Après avoir enregistré ce script d'interpréteur de commandes et l'avoir rendu exécutable, vous pouvez configurer Team Explorer Everywhere pour utiliser xxdiff en tant qu'outil de fusion externe. Dans la zone Commande, spécifiez le chemin d'accès du script d'interpréteur de commandes que vous avez créé et affectez les arguments à la chaîne suivante :
%1 %2 %3 %4
Voir aussi
Autres ressources
Création de branches et fusion (Team Explorer Everywhere)
Fusion de fichiers et de dossiers (Team Explorer Everywhere)