Résoudre un conflit avec TortoiseMerge
Lorsque vous travaillez en local sur votre ordinateur avec les fichiers provenant du SVN, vous pouvez vous retrouvez lors d'une mise à jour de votre copie "SVN Update" avec un conflit entre un fichier que vous avez modifié et le même fichier en provenance du serveur.
Nous allons voir comment résoudre ce problème, se présente sous cette forme :
On voit notamment que le fichier "Makefile-genesis.properties" possède 3 versions différentes
- Makefile-genesis.properties.mine --> correspond à la version que j'ai sur mon ordinateur (ma copie local)
- Makefile-genesis.properties.r43 --> le fichier avant modification lors de sa récupération à la révision 43
- Makefile-genesis.properties.r46 --> le fichier récupé depuis la dernière révision, ici la 46
Vous pouvez utiliser dans le menu contextuel de TortoiseSVN la fonction "Resolved..." ou bien utiliser "TortoiseMerge"[1], les captures d'écran ci-dessous détaillerons ce dernier cas qui va nous permettre d'éditer les conflits:
TortoiseMerge ne vous montre pas seulement les différences entre les fichiers mais vous permet aussi de résoudre des conflits ou d'appliquer des modifications. Après avoir repéré les différences, vous pouvez choisir de valider l'une ou l'autre des version, ici on gardera la dernière version en provenance du serveur. Pour appliquer les modifications apportées dans le fichier de gauche Theirs(Leur), faites un clic droit sur les lignes modifiées et sélectionnez Menu contextuel → Utilisez un bloc de texte de Theirs(leur).
Cliquez ensuite sur "Mark as resolved", pour notifier la résolution du conflit.
Votre copie local est maintenant correctement synchronisée ;-)