2011-09-29 6 views
2

J'ai une branche principale appelée trunk et une branche prototype a été créée.Comment fusionner correctement 2 branches

Depuis que la branche s'est produite, les validations ont été effectuées dans trunk et prototype (parfois même les mêmes fichiers).

Quelle est la meilleure façon de mettre à jour le prototype afin qu'il contienne tous les nouveaux commits du coffre sans perdre les prototypes-commits?

J'ai juste essayé de rightclick sur mon projectfolder -> Team -> Fusionner, a sélectionné les trunk comme De: et mon prototype comme Pour:. J'ai également vérifié les deux Merge de la révision HEAD.

Mais après cela, certains nouveaux fichiers de prototype manquaient. Tout d'abord, la fusion doit être effectuée sur la copie de travail de la branche prototype.

Répondre

2

Une fusion consiste à appliquer un diff entre deux versions d'une branche à une autre branche. Le From et le To doivent donc tous les deux pointer sur le tronc. Vous souhaitez appliquer, sur la branche prototype, les modifications apportées au tronçon, de la révision X à la révision Y.

Ceci est très bien expliqué dans le SVN book.

+0

+1 pour la référence au livre SVN. Il est très bien écrit et contient une explication détaillée de la fusion, etc. –

0

Vous devez d'abord mettre à jour votre branche pour obtenir les changements depuis que vous avez ramifié (c'est plus facile si vous le faites fréquemment). Comment obtenir ceci est répondu here. En bref: vous ne spécifiez pas les différentes sous-arborescences des référentiels mais une gamme de révisions, donc les adresses de from et to sont la plupart du temps les mêmes. Une fois que la branche fonctionne correctement avec tous les nouveaux fichiers du tronc, vous devez valider la branche, puis fusionner les modifications au tronc avec le même mécanisme. Lorsque la branche est fermée après l'intégration dans le tronc, vous devez utiliser "réintégrer une branche", mais cela ne fera que lire la branche.

Questions connexes