web-dev-qa-db-fra.com

Fusion de branche et de jonction dans SVN avec Eclipse

Je suis impatient de fusionner mes codes que j'ai développés dans une branche de SVN. J'utilise Eclipse et j'utilise Team-> Commit pour valider mes mises à jour sur le SVN. Mais je n'ai pas fait de fusion avant. S'il vous plait, j'ai besoin de votre aide avec ceci. Merci

42
mona
  1. Tout d'abord, assurez-vous d'être à jour. Mettez à jour votre copie de travail de la branche cible, c.-à-d. où vous êtes en train de fusionner. Dans cet exemple, nous travaillons sur le tronc de "core" et souhaitons saisir les modifications intervenues dans la branche maintenance et les fusionner.
  2. Résoudre les conflits. Il ne devrait y avoir aucun conflit à ce stade entre la copie de travail et le référentiel.
  3. Sélectionnez l'option de fusion SVN sur la copie de travail. Dans Eclipse, cela se trouve dans le menu "Equipe" et est appelé "Fusionner une branche" . SVN: Fusion dans Eclipse
  4. Remplacez l'URL de la succursale spécifique que vous souhaitez fusionner dans votre copie de travail. Dans cet exemple, nous recherchons la branche de maintenance p400 (./core/branches/p400).
  5. Remplacez la révision de la dernière révision fusionnée dans la branche cible. Essentiellement, vous ne souhaitez pas fusionner tout l'historique de la branche, mais simplement inclure ces modifications depuis la dernière fusion. Il n'y a pas de moyen facile de déterminer le dernier point de fusion dans Subversion. Vous devez consulter votre journal des messages et rechercher le dernier commit qui parle de fusion. Si vous êtes discipliné à propos des messages de commit que vous utilisez pour la fusion, cela devrait être facile (voir ci-dessous). Notez la nature de cette révision - vous en aurez besoin plus tard lorsque vous validez vos modifications . SVN: fusionner avec Eclipse
  6. Modifiez la dernière révision à la dernière (c'est-à-dire la tête). Notez la nature de cette révision. Vous en aurez besoin ultérieurement lorsque vous validez vos modifications.
  7. Cliquez sur Fusionner et attendez. Selon la taille des différences, cela peut être rapide ou Eclipse peut tomber. Si vous avez un changement tellement énorme que vous ne pouvez pas le faire dans Eclipse, vous devrez peut-être réduire la plage de révisions que vous fusionnez. Ou vous devrez peut-être ignorer certaines révisions et les faire manuellement si elles sont volumineuses. Nous avons eu ce problème de temps en temps lors de la mise à jour de grandes bibliothèques tierces. La grande majorité du temps, tout ira bien.
  8. Examinez les modifications et résolvez les conflits. Une fois la fusion terminée, examinez les modifications apportées à votre copie de travail et assurez-vous de résoudre les conflits éventuels.
  9. Une fois que tous les changements ont été résolus dans la copie de travail cible, archivez-les avec un seul commit. La raison pour laquelle vous ne faites pas beaucoup de commits est que ce sont des modifications qui auraient dû être documentées dans la branche à partir de laquelle vous avez fusionné. Le message de validation doit être dans un format spécifique qui détaille la fusion et est facile à trouver à l'avenir. Nous utilisons le format suivant, mais vous pouvez utiliser tout ce qui vous convient, à condition de vous y tenir.

    Fusion de [source] pour [cible]; [dépôt]. Fusionner rev [début]: [fin]

Prendre plaisir!

80
dvanaria

Je voudrais ajouter pour le point 8 .Review changements et résoudre les conflits. ---

Lorsque vous travaillez sur des conflits manuellement - lorsque vous copiez de droite à gauche sur des morceaux de code - Soyez prudent Parfois, un morceau de code est ajouté, parfois, il remplace correctement le morceau . Assurez-vous qu'il n'y a pas de morceau de code en double.

En outre, cela est utile-- Quelle est la bonne façon de faire une fusion Subversion dans Eclipse?

0