Fusion de fichiers et de dossiers (Team Explorer Everywhere)
Si vous fusionnez des fichiers, vous combinez les modifications qui ont été apportées dans deux branches distinctes. Par exemple, vous pouvez ajouter, modifier, renommer, supprimer ou restaurer un fichier dans la branche source. Une opération de fusion intègre ces genres de modifications dans la branche cible. Si des éléments ont été modifiés à la fois dans les branches source et cible, vous serez invité à résoudre les conflits éventuels.
Vous pouvez fusionner des fichiers à partir de l'Explorateur du contrôle de code source ou en utilisant la commande Fusionner.
Pendant une opération de fusion, les événements suivants se produisent :
L'opération identifie tous les fichiers ou dossiers ajoutés dans la branche source et tente d'ajouter les éléments correspondants dans la branche cible.
Notes
Si vous essayez de fusionner des éléments qui ont le même nom dans les deux branches, Team Foundation exécute une fusion sans base implicite. Toutefois, si vous utilisez l'option /noimplicitbaseless avec la commande tf merge, le conflit d'espace de noms ne peut pas être résolu en utilisant une fusion sans base. Vous devez renommer l'un des fichiers et exécuter à nouveau l'opération de fusion pour résoudre le conflit.
L'opération consulte l'historique de chaque élément qui existe dans les deux branches. Pour chaque élément, les modifications apportées dans la branche source mais pas dans la branche cible sont fusionnées dans la branche cible. Si l'élément a déjà été modifié dans la branche cible, un conflit est signalé. Pour plus d'informations sur la résolution de conflits de fusion, consultez Résoudre les conflits entre deux fichiers (Team Explorer Everywhere).
Lorsque vous exécutez une opération de fusion, vous avez le choix entre fusionner l'une des deux versions spécifiques des éléments ou toutes les modifications.
contrôle de version Team Foundation garde une trace de toutes les fusions. Vous pouvez consulter ces informations à partir d'une invite de commandes en utilisant la commande Merges.
Dans cette rubrique
Initier une opération de fusion à partir de l'Explorateur du contrôle de code source
Initier une opération de fusion à partir d'une invite de commandes
Autorisations requises
Pour effectuer ces procédures, vous devez disposer des autorisations suivantes :
L'autorisation Lire pour l'élément de l'arborescence source et l'autorisation Extraire pour l'élément de l'arborescence cible doivent avoir la valeur Autoriser.
L'autorisation Fusionner pour le chemin d'accès cible.
Si l'élément de l'arborescence cible est renommé, vous devez disposer de l'autorisation Extraire pour les arborescences source et cible avec la valeur Autoriser.
Si des fichiers affectés par l'opération sont verrouillés, l'autorisation Verrouiller doit avoir la valeur Autoriser.
Pour plus d'informations, consultez la page suivante sur le site Web Microsoft : Autorisations Team Foundation Server.
Initier une opération de fusion à partir de l'Explorateur du contrôle de code source
Important
La version finale de Visual Studio Team Foundation Server 2010 a introduit une distinction entre branches et dossiers. Par exemple, l'illustration suivante montre les icônes différentes qui indiquent des branches et des dossiers.
Vous pouvez toujours créer des branches et procéder à des fusions entre dossiers, mais la meilleure pratique consiste à n'exécuter ces opérations qu'entre des branches. Pour plus d'informations, consultez Création de branches de fichiers et de dossiers (Team Explorer Everywhere).
Pour fusionner des branches, des fichiers et des dossiers à partir de l'Explorateur du contrôle de code source
Dans l'Explorateur du contrôle de code source, cliquez avec le bouton droit sur la branche, le dossier ou le fichier à fusionner, puis cliquez sur Fusionner.
L'Assistant Fusion du contrôle de code source s'affiche.
Dans la zone Branche source, tapez le nom de la branche source ou cliquez sur Parcourir pour en sélectionner un dans la liste.
Cliquez sur Toutes les modifications jusqu'à une version spécifique ou Ensembles de modifications sélectionnés pour spécifier la plage des modifications que vous souhaitez fusionner.
En cliquant sur Toutes les modifications jusqu'à une version spécifique, vous réduisez le risque de conflits lors des fusions futures.
Dans la zone Branche cible, spécifiez la branche du projet d'équipe dans lequel vous souhaitez fusionner des modifications, puis cliquez sur Suivant.
La page Sélectionner les versions s'affiche.
Dans la liste Type de version, cliquez sur l'une des options suivantes :
Si vous cliquez sur Dernière version, la branche est créée pour la version la plus récente dans le contrôle de version.
Si vous cliquez sur Ensemble de modifications, vous pouvez spécifier le numéro de l'ensemble de modifications dans la zone Ensemble de modifications. Vous pouvez également cliquer sur le bouton de sélection (...) pour ouvrir la boîte de dialogue Rechercher les ensembles de modifications.
Pour plus d'informations, consultez Rechercher un ensemble de modifications.
Si vous cliquez sur Étiquette, vous pouvez taper le nom d'étiquette dans la zone Étiquette. Vous pouvez également cliquer sur le bouton de sélection (...) pour ouvrir la boîte de dialogue Rechercher l'étiquette.
Pour plus d'informations, consultez Répertorier, rechercher, afficher, modifier et supprimer des étiquettes.
Si vous cliquez sur Date, vous pouvez spécifier une date dans la zone Date.
Si vous cliquez sur Version de l'espace de travail, vous pouvez spécifier un ordinateur et un espace de travail Team Foundation Server dans la zone Espace de travail.
Cliquez sur Suivant, puis dans la page Effectuer l'opération de fusion, cliquez sur Terminer.
(Facultatif) Archivez les modifications en attente.
Pour plus d'informations, consultez Archiver des modifications en attente (Team Explorer Everywhere).
Initier une opération de fusion à partir d'une invite de commandes
Vous pouvez utiliser la commande tf merge pour appliquer les modifications d'une branche source existante à une branche cible existante. Vous pouvez fusionner une révision individuelle ou un ensemble de modifications complet dans la branche cible. Vous pouvez fusionner les modifications de la branche source vers la branche cible ou de la branche cible vers la branche source.
Fusion sans base
Vous pouvez utiliser la commande tf merge pour exécuter une fusion sans base, autrement dit, fusionner des éléments qui ne sont pas directement reliés les uns aux autres. Lorsque vous effectuez une fusion sans base, Team Foundation ne dispose d'aucune information concernant les relations entre les fichiers dans les branches. Dans une fusion sans base, vous devez résoudre les conflits manuellement. Dès que vous avez effectué la fusion sans base et résolu tous les conflits éventuels, Team Foundation enregistre l'historique des fusions et établit une relation entre les dossiers et les fichiers.
Lorsque vous utilisez la commande tf merge, Team Foundation effectue une fusion sans base implicite entre les éléments qui ont le même nom relatif dans deux arborescences contrôlées par version précédemment liées. Par exemple, vous pouvez fusionner les branches liées SRC et TGT. Ces deux branches contiennent un fichier non lié nommé a.txt. Lorsque vous exécutez la commande tf merge, Team Foundation établit une relation entre les deux fichiers a.txt si ces deux fichiers sont identiques, si tout chiffrement en conformité avec le standard FIPS (Federal Information Processing Standard) est désactivé, et si le fichier source n'est pas lié à un autre fichier dans la branche cible.
Si vous exécutez la commande tf merge et spécifiez l'option /noimplicitbaseless, les deux fichiers a.txt génèrent un conflit d'espace de noms lorsque vous essayez d'archiver les modifications. Pour résoudre le conflit, vous devez renommer un des fichiers.
Pour afficher la liste des ensembles de modifications qui n'ont pas été fusionnés
À l'invite de commandes, entrez tf merge –candidate Source Destination -recursive, puis appuyez sur Entrée.
Remplacez Source par le nom de la branche source et remplacez Destination par le nom de la branche dans laquelle vous souhaitez fusionner les modifications.
Pour plus d'informations, consultez la page suivante sur le site Web Microsoft : Merge, commande (contrôle de version Team Foundation) (page éventuellement en anglais).
Pour fusionner un dossier ou un fichier à partir d'une invite de commandes
À l'invite de commandes, entrez tf merge Source Destination -recursive, puis appuyez sur Entrée.
Remplacez Source par le nom du fichier ou dossier source à partir duquel vous souhaitez fusionner les modifications. Remplacez Destination par le nom de la branche dans laquelle vous souhaitez fusionner les modifications.
Pour plus d'informations, consultez la page suivante sur le site Web Microsoft : Merge, commande (contrôle de version Team Foundation) (page éventuellement en anglais).
Voir aussi
Autres ressources
Création de branches et fusion (Team Explorer Everywhere)
Création de branches de fichiers et de dossiers (Team Explorer Everywhere)
Associer un type de fichier à un outil de fusion (Team Explorer Everywhere)