CVS : Résolution de fichier en conflit avec xxdiff

But : résoudre un fichier en conflit avec un éditeur graphique sous Linux (Ubuntu).

Problématique
: les fichiers en conflits sont parfois difficiles à éditer avec un simple éditeur de texte, une vue à deux panneaux aide un peu. Cependant après un update cvs écrit les différences dans un seul fichier. Un outil comme meld ne peut plus servir.

Présentation sommaire de l’outil xxdiff : un outil graphique de comparaison de fichier classique comme winmerge / meld (windows / Linux), tortoiseCVS.
il a très peu de dépendance (une lib Qt quand même) donc il peut convenir pour une distribution légère.
Il est porté sous Mac OS X, Windows,…
Je trouve les menus quelques peut déroutant.

Remarques :

  • si votre environnement est basé sur KDE vous pouvez utiliser cervisia.
  • si vous travaillez avec Eclipse je vous conseille d’utilise le plugin CVS dédié à Eclipse qui gère les conflits.
  • Si vous éditez votre code sous windows je vous recommande d’utiliser tortoiseCVS combiné avec winmerge.

  • Essai

    Voici un exemple de fichier en conflit :

    Some merged text.
    <<<<<<< cvs_conflict_sample.c
    I added this.
    =======
    This line added in main branch.
    >>>>>>> 1.2
    Some finetext.

    Taper la commande suivante pour éditer le fichier :
    xxdiff --unmerge cvs_conflict_sample.c

    Vous avez alors la vue suivante :
    xx_diff1

    La fusion est réalisée par la séquence répétée suivante :

  • view->next différence
  • global-> select right and next
  • Dans l’exemple ci-dessous j’ai choisi de conserver la partie de gauche :
    xx_diff2

    Dès lors que vous avez choisi toutes les modifications à conserver il faut choisir la commande file-> »save as original » pour remplacer le fichier en conflit, ou « save as merged » pour sauvegarder dans une copie.

    À propos de Selso

    Salut ! Je m'appelle Selso. Je vis à Saint-Etienne depuis 2005. Je suis ingénieur en informatique embarquée en poste chez CIO Systèmes Embarqués.
    Cette entrée a été publiée dans Développement, Informatique. Vous pouvez la mettre en favoris avec ce permalien.

    Laisser un commentaire