web-dev-qa-db-fra.com

Résolution des conflits Subclipse

Moi et mon ami utilisant flex builder (basé sur Eclipse) avec subclipse pour un projet.

Avant de valider, je mets toujours à jour mais parfois je ne pouvais pas commettre à cause de conflits. Ensuite, j'utilise Team-> Synchronize with Repository et il montre sur le côté droit le plus récent du référentiel et sur le côté gauche ma copie de travail actuelle. Il a un bouton pour copier de tous les non-conflits de droite à gauche (du dernier référentiel à ma copie de travail). Mais il y a toujours des lignes contradictoires.

Parfois, je veux simplement copier de gauche à droite, mais il n'y a pas de bouton pour cela (je veux dire écraser les lignes du fichier de référentiel avec mes lignes). Après avoir copié les parties non conflictuelles de droite à gauche, je veux simplement valider le côté gauche (je veux écraser et valider mon fichier final dans le référentiel). Je ne peux pas m'engager à cause de ces problèmes de conflit. Ensuite, mon ami peut utiliser la commande Remplacer par -> Dernier du référentiel pour obtenir la dernière version remplacée.

La documentation de Subclipse est faible. Je n'ai trouvé aucun bon guide sur Internet. Pourriez-vous expliquer étape par étape la résolution des conflits de subclipse pour un mannequin comme moi? Une vidéo montrant les étapes ou une technologie extraterrestre pour y remédier rapidement conviendra parfaitement. Existe-t-il une meilleure solution (plus simple) pour le contrôle de source pour Eclipse?

(J'utilise subclipse 1.4)

32
Gok Demir

Oui, tu as raison. Il n'y a pas de bouton pour ça. dans la vue Diff (vue côte à côte), les éléments en rouge sont en conflit. Ils ne peuvent pas être fusionnés automatiquement. Vous devez examiner l'élément en conflit et le résoudre manuellement en copiant/éditant le bloc de code en conflit.

Après avoir validé ou mis à jour à partir du référentiel (Synchroniser avec le référentiel), vous verrez dans la vue Console que certains éléments sont en conflit. Lorsque vous jetez un œil à ce fichier dans le package, vous verrez 3 fichiers juste à côté de votre fichier d'origine:

myfile.txt (original file)
myfile.txt.mine
myfile.txt.r3293 
myfile.txt.r3501

Cliquez avec le bouton droit sur votre fichier d'origine, puis sélectionnez Équipe -> Modifier le conflit. Dans la vue Diff fournie, modifiez le fichier sur le côté gauche pour qu'il corresponde au résultat final souhaité. (c'est-à-dire que vous souhaiterez peut-être conserver certaines de vos modifications et copier la nouvelle mise à jour de la révision dans SVN, ignorer toutes les modifications et conserver uniquement vos modifications, etc.) Une fois que vous avez terminé, enregistrez le fichier. Cliquez de nouveau avec le bouton droit sur votre fichier d'origine, puis sélectionnez Équipe -> Marquer résolu.

Vous verrez que les 3 fichiers supplémentaires disparaissent. Vous pouvez désormais valider votre travail en toute sécurité.

Il n'y a pas de moyen facile de le faire car SVN ne peut pas décider quelle est la meilleure option lorsqu'un tel conflit survient.

53
blissfool

Je sais que ce fil est ancien, mais si quelqu'un cherche une réponse mise à jour, mon expérience peut aider.
J'utilise la sous-éclipse 1.8. En cliquant avec le bouton droit sur le fichier d'origine et en sélectionnant "Marquer comme résolu ...", vous aurez plusieurs options, entre autres, prendre le fichier local ou le fichier de base comme version correcte. Vous pouvez gagner du temps avec ces options.

11
eternay

Je ne trouve pas "Marquer comme résolu", j'ai donc cliqué sur "Marquer comme fusionné" après avoir supprimé manuellement les fichiers générés.

4
princepiero

Procédez comme suit:

  • Copiez vos dernières mises à jour de travail dans un endroit sûr.

  • Sélectionnez le fichier qui a des conflits ... cliquez avec le bouton droit> sélectionnez remplacer par >> Sélectionner le dernier dans le référentiel.

  • Revenez ensuite à votre copie de travail enregistrée et remplacez manuellement le contenu du fichier actuel (qui a été remplacé à l'étape ci-dessus) par le vôtre.

  • Ensuite, dans l'équipe, sélectionnez Valider ... De cette façon, les conflits doivent être résolus et vous avez enregistré vos dernières mises à jour dans SVN Repository.

0
Hasan