Fusion de branches SVN


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 :

  • Diff Viewer (revisions of files) : External to C:\Program Files\Devart\CodeCompare\CodeComp.exe /SC=SVN /B %base %mine
  • Merge tools : External to C:\Program Files\Devart\CodeCompare\CodeMerge.exe /TF=%theirs /MF=%mine /RF=%merged /BF=%base /REMOVEFILES /SC=SVN /B

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.

Advertisements
Posted in Uncategorized

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow me
   RSS Feed    Twitter    Linked In

Write you email address to subscribe at this blog and to receive new posts by mail.

Join 565 other followers

Who I am?






%d bloggers like this: