2010-11-04 25 views
2

Nous utilisons le modèle de développement branche par version avec Subversion. Nous avons tendance à avoir 2 ou 3 branches actives à la fois: le tronc (développement) et deux branches (maintenance) (c'est-à-dire 5.0 et 6.0). Le problème que nous continuons à rencontrer est que si nous trouvons un bogue dans 5.0 et le corrigeons dans 5.0, tout le monde ne se souvient pas toujours de fusionner leurs correctifs dans toutes les branches dans lesquelles le correctif doit être fusionné (6.0 et trunk dans ce Cas).Comment faire en sorte que les développeurs se souviennent de fusionner leurs corrections de bugs partout?

Comment vous assurez-vous que les corrections de bugs sont fusionnées dans toutes les branches nécessaires? Qu'est-ce qu'un bon moyen d'y arriver?

Répondre

3

Le meilleur moyen est probablement juste la communication et l'éducation. Avoir des réunions d'équipe - assurez-vous que tous vos développeurs sont sur la même page. Nous avons une structure SVN similaire, et chaque fois que je corrige un bug, la première chose que je me demande après l'avoir commise est "où d'autre faut-il fusionner?" - Ça vient d'être martelé dans mon esprit par la communication et la répétition.

Placez la liste des branches contenant des bogues fusionnés sur une page wiki ou un autre document public afin que tous les développeurs puissent les trouver facilement.

+0

Tout le monde SAIT que la fusion doit être effectuée. Et ils pourraient ne pas savoir O WH cela doit être fait, mais ils peuvent le comprendre ou demander à quelqu'un d'autre. Ce ne sont pas les problèmes. Le problème est qu'ils oublient de le fusionner partout. Ils sont interrompus pendant la fusion ou quelque chose comme ça, et ça ne se fait pas, et personne ne sait qu'il n'a jamais fusionné. –

+0

Cela ressemble à un problème de gestion/équipe plus qu'un problème de programmation, je suppose. Vous pourriez trouver une sorte de système compliqué de crochets SVN ou de surveillance CI qui cherche des fusions avec des commentaires similaires à travers diverses révisions. Mais cela semble beaucoup trop compliqué pour quelque chose qui pourrait être pris en charge avec la formation, je suppose. Les gens vont commencer à se souvenir de le faire si cela va affecter leurs évaluations de performance! –

2

Avez-vous des testeurs dédiés? Il devrait être de la responsabilité des testeurs de vérifier que "fixed" signifie réellement "fixed dans les arbres de développement 5.0 et 6.0".

0

L'intégration continue pourrait aussi aider, en utilisant des tests «communs» pour les arbres de développement et de maintenance.