35 votes

Comment fusionner une branche CVS dans HEAD en utilisant les outils de fusion Eclipse ?

Je travaille actuellement dans une branche que j'ai créée en utilisant Équipe-->Branche. Comment puis-je utiliser Équipe-->Fusion pour fusionner mes modifications de la branche vers la tête ?

49voto

Brian Points 1335

J'avais aussi des problèmes avec ça. Voici les étapes que je prends pour fusionner (principalement tirées de l'aide en ligne d'Eclipse) :

  1. Lors de la création de ma branche de développement (Équipe -> Branche), je m'assure d'avoir une balise racine créée pour la branche, c'est cette balise que CVS utilisera pour déterminer quels changements sont dus à la branche et quels pourraient avoir été commités à partir d'autres efforts
  2. Je termine mon développement sur la branche et commit (Équipe -> Commit) tous les changements de retour dans le dépôt
  3. Maintenant que tous mes changements pour la branche sont dans le dépôt, je charge la branche de destination dans laquelle je veux fusionner, généralement HEAD (Équipe -> Basculer vers une autre branche ou version)

Vous êtes maintenant prêt à commencer le processus de fusion réel. Ici, vous choisirez les changements qui doivent être transférés et ceux qui doivent être rejetés. Pensez à ce processus comme à un cycle de développement semi-automatisé, efficacement un cycle de checkout, de modifications, de commit. Sauf que, au lieu d'insérer manuellement vos changements, vous disposez d'outils de comparaison pour vous aider. Après tout, vous avez déjà effectué tous les changements de code dans votre branche !

Pour fusionner :

  1. Équipe -> Fusionner
  2. Branche ou version à fusionner (balise de fin) : c'est le nom de votre balise de branche de développement
  3. Version de base commune : c'est le nom de votre balise racine pour la branche (rappelez-vous de l'étape 1 de la section précédente ?). Cela aurait dû être automatiquement renseigné par l'outil, mais si ce n'est pas le cas, ajoutez-le vous-même
  4. J'aime Prévisualiser la fusion dans la vue de synchronisation pour m'assurer que rien ne s'incruste s'il ne devrait pas. Selon votre courage, c'est l'option que je suggérerais. Cliquez sur le bouton Terminer
  5. La perspective de synchronisation s'affichera et toutes les différences trouvées entre votre branche de destination et votre branche source seront affichées dans une liste déroulante à gauche
  6. Pour chaque fichier, vous pouvez l'ouvrir dans un outil de comparaison pour voir ce qu'il était avant et fusionner les changements individuellement (n'oubliez pas de sauvegarder le fichier une fois terminé !) ou vous pouvez cliquer avec le bouton droit sur le fichier et sélectionner fusionner dans la liste déroulante. Si vous fusionnez manuellement avec l'outil de comparaison, vous pouvez sélectionner "Marquer comme fusionné" dans la liste déroulante pour supprimer le fichier de votre liste de choses à faire.
  7. Une fois que vous avez décidé de ce qu'il faut faire avec le fichier, il sera retiré de la liste. Le but est d'agir sur chaque fichier
  8. Maintenant que tous vos changements ont été fusionnés, revenez à la perspective Java et sélectionnez Équipe -> Synchroniser avec le dépôt, la perspective de synchronisation réapparaîtra.
  9. Cette fois, sélectionnez Commit pour envoyer tous vos changements dans le dépôt.
  10. Fin !

J'espère que cela vous a aidé. Fourni ci-dessous pour référence le contenu du document d'aide qui m'a guidé vers la victoire !

Aide d'Eclipse SDK - Fusionner une branche

7voto

Alex Argo Points 2146

Assurez-vous que la destination est chargée dans votre espace de travail. C'est la partie la plus importante et la partie que j'ai ratée en essayant de le faire quelques fois.

Par exemple, si vous souhaitez fusionner vos modifications dans HEAD, assurez-vous que le projet est partagé avec HEAD dans votre espace de travail (et non la branche sur laquelle vous avez travaillé). Pour ce faire, sélectionnez le projet et choisissez Team > Remplacer par > Une autre branche ou version dans le menu contextuel. Ensuite, sélectionnez la branche à remplacer.

À partir de ce point, choisissez Team > Fusionner puis sélectionnez la branche dans laquelle vous souhaitez fusionner dans HEAD.

4voto

Marcin Wasiluk Points 1276

Je suis d'accord que cela fonctionne dans l'autre sens, si des modifications dans VOTRE_BRANCHE doivent être mises à jour dans HEAD,

1) committer les modifications dans VOTRE_BRANCHE 2) passer en branche locale à HEAD 3) fusionner HEAD avec les modifications faites dans VOTRE_BRANCHE

par conséquent, vous devez être sur HEAD et "prendre" les modifications de VOTRE_BRANCHE (au lieu d'envoyer les modifications de VOTRE_BRANCHE à HEAD).

1voto

Clarkey Points 487

J'ai juste dû le faire. Bien que les réponses ci-dessus étaient similaires, j'ai trouvé qu'elles n'étaient pas spécifiques à ce que je devais faire.

  • Comme déjà indiqué, assurez-vous que votre branche de destination (généralement la branche principale) est déjà vérifiée.
  • Ensuite, mettez en surbrillance les fichiers que vous savez avoir modifiés dans votre branche (ou tout le projet, peu importe), et sélectionnez Equipe -> Fusionner. Dans la boîte de dialogue qui apparaît, choisissez pour "Branche ou version à fusionner (balise de fin)", la branche source à partir de laquelle vous voulez prendre vos fichiers.
  • Dans mon cas, cela a automatiquement renseigné la "Version de base commune (balise de début)", mais si ce n'est pas le cas, alors ce sera la balise qui a été créée lorsque la branche a été créée.

Lorsque vous prévisualisez les modifications, elles apparaîtront dans la vue normale de synchronisation CVS. Lorsque vous fusionnez les fichiers, ils seront intégrés à votre espace de travail local (qui, comme mentionné précédemment, est votre branche de destination) en tant que modifications. À ce stade, vous devrez les valider dans CVS.

0voto

J'ai également eu des difficultés avec cela et la réponse ci-dessus n'a pas été utile jusqu'à ce que je coche le bouton radio "Effectuer la fusion dans l'espace de travail local".

Malheureusement, je n'ai pas pu prévisualiser ma fusion avant que les deux fichiers ne soient fusionnés.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X