Le projet sur lequel je travaille a récemment été remplacé par Subversion, un système de contrôle des versions horriblement archaïque. J'avais l'impression d'avoir une assez bonne compréhension de Subversion il y a quelques années, mais une fois que j'ai appris à connaître Mercurial, j'ai rapidement oublié Subversion.Trouver des bogues dans les copies de travail de révision mixte de Subversion
Ma question s'adresse à ceux qui travaillent avec un nombre important de développeurs (15+) sur la même branche dans Subversion.
Supposons que vous récupériez rev N du référentiel. Vous faites quelques changements et ensuite commettez. Pendant ce temps, d'autres développeurs ont apporté des modifications à d'autres fichiers. Vous entendez parler d'un autre développeur modifie le sous-système X et décidez que vous en avez besoin immédiatement. Vous ne voulez pas mettre à jour l'ensemble de la copie de travail, car cela entraînerait toutes sortes de choses et vous devrez alors faire une longue compilation (projet C++). Le risque que je vois est que le développeur ne met à jour que le sous-système X sans se rendre compte que le nouveau code dépend d'un changement récent dans le sous-système Y. Le code compile, mais tombe en panne à l'exécution.
Comment gérez-vous cela? Le développeur signale-t-il ce qu'il pense être un bogue (même si ce n'est pas un bogue)?
- Avez-vous besoin de développeurs pour mettre à jour toute leur copie de travail avant de signaler un bug? Cela ne pourrait-il pas décourager les rapports de bugs?
- Empêchez-vous que cette situation se produise par un mécanisme auquel je n'ai pas pensé?
Juste synchroniser et construire. Acheter des disques durs rapides. –
Combien de temps dure une "longue compilation"? Plus proche de 5 minutes, ou à 50? –
Je pense que le temps de construction est d'environ 25 minutes. – Dave