2010-02-10 6 views
1

J'ai créé une nouvelle branche pour faire du travail (de rupture) pendant que l'autre développeur continuait à travailler sur le tronc. Eh bien, maintenant que j'ai terminé cette branche et que je suis prêt à fusionner, j'ai des problèmes.Comment fusionner une branche de fonctionnalité désynchronisée en ligne réseau?

J'utilise TortoiseSVN. J'ai fait le "fusionner deux arbres séparés" et ce qui semble faire est juste copier tous mes changements de la branche dans le tronc sans faire n'importe quelle fusion ou n'importe quel respect à quels changements ont été faits dans le tronc.

Comment puis-je le forcer à conserver les anciens changements de tronc et à fusionner dans la branche plutôt que d'écraser complètement le tronc?

Dans le cas où vous ne comprenez pas, j'ai un fichier nommé Grid.cs et beaucoup de travail a été fait dans le coffre pour que la copie de la branche soit vraiment périmée. Eh bien, quand je vais fusionner, il va remplacer la copie du tronc avec la copie de la branche sans essayer de les fusionner ou quoi que ce soit comme si la copie de la branche est plus récente, mais ce n'est pas le cas.

Répondre

2

Oops, n'a pas lu assez de documentation .. à http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-merge.html

Direction Feature Maintenance

Lorsque vous développez une nouvelle fonctionnalité sur une branche séparée il est une bonne idée de un travail stratégie de réintégration lorsque la fonctionnalité est terminée. Si d'autres travaux se déroulent dans le coffre au même moment vous pouvez constater que les différences deviennent significatives avec le temps, et fusionner devient un cauchemar.

Si la fonction est relativement simple et le développement ne prendra pas longtemps alors vous pouvez adopter une approche simple, qui est de maintenir la branche entièrement séparée jusqu'à ce que la fonction est complète, puis fusionner la branche modifications dans dans le coffre. Dans l'assistant de fusion , il s'agirait d'une simple fusion d'une série de révisions , la révision étant la portée de révision de la branche .

Si la fonction va prendre plus de temps et vous devez tenir compte des changements dans tronc, alors vous devez garder la branche synchronisée. Cela signifie simplement que périodiquement vous fusionnez les modifications du tronc dans la branche, de sorte que la branche contienne toutes les modifications du tronc plus la nouvelle fonctionnalité. Le processus de synchronisation utilise Fusionner une gamme de révisions . Lorsque la fonctionnalité est terminée, vous pouvez la fusionner à en utilisant soit Reintegration une branche ou Fusionner deux arbres différents.

Questions connexes