Est-il possible de désactiver l’option de fusion automatique dans Visual Studio Team System 2008? Si c’est le cas, comment?

Je voudrais désactiver la fonctionnalité de fusion automatique lors de l’archivage d’un fichier sur TFS sur lequel un autre développeur a travaillé, de sorte que je dois toujours fusionner manuellement. Est-ce qu’il y a un moyen de faire ça?

Essayez de faire ce qui suit (en travaillant dans toutes les versions de Visual Studio à partir de 2012):

Outils -> Options -> Contrôle de code source -> Visual Studio Team Foundation Server -> Décochez “Tenter de résoudre automatiquement les conflits lorsqu’ils sont générés”:

entrer la description de l'image ici

La réponse courte de Visual Studio 2008 semble être non.

Chaque fois que deux personnes ont changé le même fichier, vous devez “fusionner” le code. Cela peut prendre trois formes:

  • Gardez votre version (en ignorant leurs modifications)
  • Conservez leur version (en ignorant vos modifications)
  • Fusionner les deux changements pour les fusionner tous les deux

Vous ne pouvez pas “désactiver ceci”, car il n’y a pas d’autre moyen sûr de résoudre le conflit.

La méthode la plus proche pour désactiver la fusion consiste à interdire les extractions multiples (verrouiller le fichier pour qu’un seul développeur puisse y travailler à la fois). Cela évite l’apparition simultanée de deux modifications et évite ainsi le problème de la fusion complète. (Au coût supplémentaire des développeurs étant souvent bloqués et incapables de travailler sur un fichier alors qu’un autre développeur a le verrou). C’est une façon de travailler affreuse et généralement inefficace – je ne le recommanderais pas.

Vous pouvez minimiser le besoin de fusions:

  • Arrivée fréquemment De nombreux petits changements réduisent votre exposition aux conflits de fusion, tandis que quelques changements importants augmentent votre exposition.
  • Divisez les fichiers volumineux et souvent modifiés en plusieurs fichiers plus petits afin de minimiser le risque que deux développeurs aient à convertir le même fichier en même temps
  • Avant de commencer à travailler sur un fichier, vérifiez si quelqu’un l’a modifié, et essayez de réorganiser votre “emploi du temps” afin de ne pas avoir à modifier ce fichier pendant que l’autre programmeur travaille dessus (une auto-imposition ” soft lock “, pour réduire le risque de fusion nécessaire

Vous pouvez également mettre à niveau les outils de fusion. La fusion de Visual Studio est horrible , difficile à utiliser et introduit souvent des problèmes dans le code. Il m’a tellement mordu que je ne peux jamais lui faire confiance, donc je dois faire des fusions manuelles douloureuses à chaque fois. J’utilise maintenant Araxis Merge qui fait toujours une fusion automatique parfaitement, me donnant l’assurance que je peux le laisser faire la fusion pour moi. (Je n’ai jamais utilisé un autre programme de fusion qui me donne cette confiance, et j’ai essayé pratiquement toutes les autres options au fil des ans). Lorsqu’une fusion manuelle est requirejse, elle offre une vue de fusion très claire à «lire» et une interface utilisateur très rapide et intuitive permettant de choisir comment fusionner chaque bit de code, ce qui le rend très efficace. J’ai lutté une fois pendant 3 jours avec une fusion complexe dans VS (corrompant le code plusieurs fois jusqu’à ce que j’abandonne) puis j’ai acheté Araxis Merge et refais parfaitement la fusion en 15 minutes. Un bon outil évite vraiment la fusion.

(Je ne suis pas affilié à Araxis, je ne supporte pas la plupart des outils de fusion terribles)