English
Français

Blog of Denis VOITURON

for a better .NET world

Fusion de branches SVN

Posted on 2010-08-05

Disposant d'un serveur de code SVN (basé sur VisualSVN), nous avons eu récemment le besoin de créer une branche afin de passer les développements en version 2 tout en conservant une version 1 manipulable pour, principalement, la maintenance.

Les outils utilisés sont :

Création d'une branche

Pour créer une branche, nous avons pris la décision la plus simple du copier/coller. En effet, nous avons :

  1. Mettre à jour le dossier MyProject\Source contenant le code.
  2. Dupliquer ce dossier vers un nouveau dossier MyProject\Source-Step2.
  3. Une fois toutes les données recopiées localement, remonter Source-Step2 vers le serveur SVN (par exemple, grâce à TortoiseSVN).

Fusion de deux branches

Pour fusionner d'éventuelles modifications du dossier Source vers le dossier Source-Step2, nous utilisons TortoiseSVN et DevArt CodeCompare pour nous aider en cas de conflit. Un conseil, effectuer des fusions projets par projets plutôt que le dossier global de la solution.

Si vous souhaitez utiliser CodeCompare pour vous aider lors de la fusion des deux branches, vous devez signaler à TortoiseSVN où se situe l'application de comparaison et de fusion. Pour cela, accédez au Settings de TortoiseSVN et dirigez-vous vers les onglets suivants :

La procédure, de fusion du code, est :

  1. Mettre à jour le code local de Source-Step2, par rapport à la dernière version présente sur SVN.
  2. Se positionner dans le dossier (ou sous-dossier) à fusionner et cliquer avec le bouton droit de la souris sur le dossier pour exécuter la commande TortoiseSVN \ Merge.
  3. Sélectionner les options suivantes dans l'assistant de Tortoise :
    1. Ecran 1 : Cocher Merge a range of revisions.
    2. Ecran 2 : Indiquer l'adresse contenant les données de la première branche (URL to merge from) et vérifier que le dossier de travail (Working copy) correspond bien à la seconde branche (Source-Step2).
    3. Ecran 3 : Laisser les options par défaut dans les options de fusion et appuyer sur le bouton Merge.
    4. Ecran 4 : Pour chaque conflit, sélectionner le bouton adéquat de résolution :
      1. Use local pour conserver la version de Source-Step2.
      2. Use repository pour conserver la version de Source.
      3. Edit conflict pour ouvrir l'outil de comparaison dans Visual Studio et transférer manuellement les modifications vers le document de travail… et appuyer sur Resolved.

Langues

EnglishEnglish
FrenchFrançais

Suivez-moi

Articles récents