web-dev-qa-db-fra.com

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

Je travaille actuellement dans une branche que j'ai créée à l'aide de l'équipe -> branche. Comment utiliser Team -> Merge pour fusionner mes modifications dans la branche?

34
Alex Argo

J'avais aussi des problèmes avec ça. Voici les étapes à suivre pour fusionner (principalement à partir de l'aide en ligne d'Eclipse):

  1. Lors de la création de ma branche de développement (Team -> Branch), je m'assure de créer une balise racine pour la branche. Il s'agit de la balise que CVS utilisera pour déterminer les modifications dues à la branche et ce qui a pu être validé. autres efforts
  2. Je termine mon développement sur la branche et valide (Team -> Commit) toutes les modifications apportées au référentiel
  3. Maintenant que toutes mes modifications pour la branche sont dans le référentiel, je charge la branche de destination dans laquelle je souhaite fusionner, généralement HEAD (Team -> Basculer vers une autre branche ou version).

Vous êtes maintenant prêt à commencer le processus de fusion actuel. Ici, vous allez choisir quels changements doivent être apportés et lesquels doivent être ignorés. Pensez à ce processus comme à un cycle de développement semi-automatisé, à une extraction, à des modifications et à un cycle de validation. Au lieu d'insérer manuellement vos modifications, 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!

Fusionner:

  1. Equipe -> Fusionner
  2. Branche ou version à fusionner (balise de fin): il s'agit du nom de votre balise de branche de développement.
  3. Version de base commune: il s'agit du nom de votre balise racine pour la branche (vous souvenez-vous de l'étape 1 de la section précédente?). Cela aurait dû être rempli automatiquement par l'outil, mais sinon, ajoutez-le vous-même
  4. J'aime bien Prévisualiser la fusion dans la vue synchronisée afin de pouvoir m'assurer que rien n'entre dans ce qui ne devrait pas être. En fonction de votre courage, c'est l'option que je suggérerais. Cliquez sur le bouton Terminer
  5. La perspective de synchronisation apparaîtra et toutes les différences constatées entre votre branche de destination et votre branche source seront affichées dans une liste extensible à gauche.
  6. Pour tout fichier, vous pouvez l'ouvrir dans un outil de comparaison pour voir ce qu'il était avant et fusionner les modifications individuellement (n'oubliez pas de sauvegarder le fichier quand vous avez 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 extensible pour supprimer le fichier de votre liste de tâches.
  7. Une fois que vous avez décidé quoi faire du fichier, il sera supprimé de la liste. Le but est d’agir chaque fichier
  8. Maintenant que toutes vos modifications ont été fusionnées, revenez à la perspective Java et sélectionnez Equipe -> Synchroniser avec le référentiel, la perspective Synchroniser réapparaîtra.
  9. Cette fois, sélectionnez S'engager pour envoyer toutes vos modifications dans le référentiel.
  10. Ailette!

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

Aide du kit SDK Eclipse - Fusion d'une branche

46
Brian

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 lorsque j'essaie de le faire plusieurs 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 > Replace With > Another Branch or Version dans le menu contextuel. Ensuite, sélectionnez la branche à remplacer par.

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

7
Alex Argo

Je conviens que cela fonctionne autrement, Si les modifications dans YOUR_BRANCH doivent être mises à jour pour HEAD, 

1) valider les modifications dans YOUR_BRANCH 2) échanger la branche locale contre HEAD 3) fusionner HEAD avec les modifications apportées à YOUR_BRANCH

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

4
Marcin Wasiluk

Je devais juste faire ça. Bien que les réponses ci-dessus soient 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 détination (généralement la tête) est déjà vérifiée.
  • Ensuite, mettez en surbrillance les fichiers que vous savez avoir modifiés dans votre branche (ou dans l’ensemble du projet, peu importe), puis sélectionnez Team -> Merge. Dans la boîte de dialogue qui apparaît, choisissez "Branch orversion to be merged (end tag)", la branche source De laquelle vous souhaitez extraire vos fichiers
  • Dans mon cas, cette auto A rempli le "Common base version(start tag)", mais si ce n'est pas le cas, alors Ce sera la balise qui a été créée Lors de la création de la branche.

Lorsque vous prévisualisez les modifications, elles apparaîtront dans la vue normale de synchronisation CVS. Lorsque vous fusionnez les fichiers, ils seront importés dans votre espace de travail local (qui était auparavant votre branche de destination) en tant que modifications. À ce stade, vous devrez les vérifier dans CVS.

1
Clarkey

Franchement, il n’existe pas de solution simple et propre à moins d’avoir anticipé et planifié cette fusion dès le moment de la création de votre branche.

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

0
Anshu Jain

J'ai eu du mal avec cela aussi et la réponse ci-dessus n'était utile que lorsque j'ai coché le bouton radio "Effectuer la fusion dans un espace de travail local".

Malheureusement, je n'ai pas pu prévisualiser ma fusion avant la fusion des deux fichiers.

0
birwin