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

je travaille actuellement dans une branche que j'ai créée en utilisant L'équipe-->branche. Comment utiliser Team -- > Merge pour fusionner mes modifications à la branche retour à la tête?

33
demandé sur Alex Argo 2009-02-10 01:02:03

6 réponses

j'avais des problèmes avec ça aussi. Voici les étapes que je prends pour fusionner (la plupart prises à partir de L'aide en ligne Eclipse):

  1. lors de la création de ma branche développement (L'Équipe -> Branche) Je m'assure que j'ai une balise racine créée pour la branche, c'est la balise CVS qui sera utilisée pour déterminer quels changements sont dus à la branche et ce qui pourrait avoir été engagé à partir d'autres efforts
  2. j'achève mon développement sur la branche et je m'engage (Équipe> Commit) toutes les modifications vers 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, typiquement HEAD (l'Équipe -> passer à une Autre Branche ou Version)

Vous êtes maintenant prêt à lancer le processus de Fusion. Ici, vous choisirez quels changements devraient venir et ce qui devrait être jeté. Considérez ce processus comme un cycle de développement semi-automatisé., effectivement un checkout, faire des changements, commit cycle. Seulement au lieu d'insérer manuellement vos modifications vous avez des outils de comparaison pour vous aider le long. Après tout, vous avez déjà fait tous les changements de code dans votre branche!

De Fusion:

  1. L'Équipe -> Merge
  2. branche ou Version à fusionner (étiquette de fin): c'est le nom de votre étiquette de branche de développement
  3. version de base commune: c'est le nom de votre balise racine pour la branche (se souvenir l'étape 1 de la section précédente?). Ce qui devrait avoir été remplis automatiquement par l'outil, mais si pas, l'ajouter vous-même
  4. j'aime prévisualiser la fusion en vue synchroniser donc je peux m'assurer que rien ne rentre qui ne devrait pas. Selon votre bravoure, c'est l'option que je suggère. Cliquez sur le Terminer bouton
  5. la perspective de synchronisation apparaîtra et toute différence trouvée entre votre branche de destination et votre branche source seront affichés dans une liste extensible dans la 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 fait!) ou vous pouvez cliquer droit sur le fichier et sélectionnez fusionner à partir de la liste déroulante. Si vous fusionnez manuellement avec l'outil de comparaison, vous pouvez sélectionner "Mark as Merged" dans la liste extensible pour supprimer le fichier de votre liste todo.
  7. une Fois que vous avez décidé quoi faire avec le fichier sera supprimé 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 Team -> synchroniser avec le dépôt, la perspective de synchronisation reviendra.
  9. cette fois, sélectionnez Commit pour transférer toutes vos modifications dans le dépôt.
  10. Fin!

Espère que cela a aidé. Ci-dessous pour la référence est le contenu du document d'aide qui a guidé moi à la victoire!

Eclipse SDK Help-Merging a Branch

44
répondu Brian 2011-05-26 23:32:42

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 manqué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(pas la branche sur laquelle vous avez travaillé). Pour ce faire, sélectionnez le projet et choisissez Team > Replace With > Another Branch or Version à partir du menu contextuel. Ensuite, sélectionnez la branche à remplacer.

à partir de ce point, choisissez Team > Merge puis sélectionnez la branche que vous voulez fusionner en HEAD.

7
répondu Alex Argo 2009-02-09 22:08:00

je suis d'accord c'est l'autre façon de contourner, si des changements dans VOTRE_BRANCH doivent être mis à jour dans HEAD,

1) commit changes to YOUR_BRANCH 2) swap de la succursale locale de la TÊTE 3) fusionner les modifications apportées à your_branch

donc vous avez besoin pour être en TÊTE et de "prendre" des changements de YOUR_BRANCH (au lieu d'envoyer des modifications de YOUR_BRANCH à HEAD).

3
répondu Marcin Wasiluk 2011-06-09 11:52:24

j'ai juste eu à le faire. Bien que les réponses ci-dessus soient semblables, j'ai constaté qu'elles n'étaient pas spécifiques à ce que je devais faire.

  • comme nous l'avons déjà mentionné, assurez-vous que votre direction de détection (habituellement le chef) est déjà vérifiée.
  • Ensuite, mettez en surbrillance les fichiers que vous savez avoir changé dans votre branche (ou dans l'ensemble du projet, peu importe), et sélectionnez Team -> Merge. Dans la boîte de dialogue qui apparaît, choisissez "Branch or version to be merged (end tag)", le branche source vous voulez prendre votre les fichiers.
  • Dans mon cas, cette auto peuplée "Common base version (start tag)" mais si elle ne l'est pas, alors ce sera la balise qui a été créé lorsque la direction générale a été créée.

lorsque vous prévisualisez les modifications, elles apparaissent dans la vue CVS synchronisée normale. Lorsque vous fusionnerez les fichiers, ils seront introduits dans votre espace de travail local (qui à partir de plus tôt est votre branche de destination) en tant que changements. À ce stade, vous aurez besoin de les vérifier dans CVS.

1
répondu Clarkey 2011-03-21 10:52:07

j'ai aussi eu du mal avec cela et la réponse ci-dessus n'était pas 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 la fusion des deux fichiers.

0
répondu 2009-03-18 16:10:06

franchement, il n'y a pas de voie facile et propre à moins que vous ayez anticipé et planifié cette fusion dès le moment où vous vous êtes ramifié.

Cependant, j'ai trouvé un hack qui fonctionne parfaitement, qui j'ai décrit dans un billet de blog.

0
répondu Anshu Jain 2011-12-17 15:02:12