46 votes

Subversion - est-ce que quelqu'un devrait développer le tronc?

Lors de l'utilisation de Subversion, les développeurs doivent-ils travailler à partir du coffre ou le coffre ne doit-il être utilisé que pour les fusions de chaque branche de développeur et surveillé par un service d'intégration continue?

15voto

Amber Points 159296

Dépend de l'étendue des changements. Une bonne pratique est que le tronc doit toujours être compilable, mais cela ne veut pas nécessairement dire que les développeurs ne peuvent pas travailler sur le tronc pour de petites modifications/corrections de bugs - après tout, c'est une des raisons pour avoir une copie de travail; vous pouvez assurez-vous que quelque chose compile avant de la commettre.

Les grands changements ou ajouts de fonctionnalités devrait presque toujours être retiré en branche jusqu'à ce qu'ils soient prêts pour l'intégration afin de ne pas interférer avec le développement d'autres.

10voto

Jon Points 23749

Il y a un certain nombre de méthodes pour travailler avec les systèmes de contrôle de version pour le développement en parallèle. Il n'y a rien de mal avec celui qui vous suggérons ci-dessus - mais il y a des avantages et des inconvénients attachés à chaque. J'ai travaillé dans les deux sens.

Développement hors du tronc et de la coupe de dégagement des branches est très bien, mais si vous avez besoin d'effectuer une urgence de version de production, vous finissez par avoir à patcher la version de la branche et de la diffuser à nouveau - construction d'une succursale dans votre système CI.

De travail dans les branches et en préservant le tronc principal (contrôle avec un système d'intégration continue) est aussi très bien, mais peut conduire à des problèmes de conflit avec les développeurs dans plusieurs branches d'apporter des modifications.

Jetez un oeil sur le site suivant aussi:

http://www.cmcrossroads.com/bradapp/acme/branching/

Il traite d'un certain nombre de modèles de ramification pour le développement en parallèle, y compris:

  • S1. Mainline
  • S2. En Parallèle De Maintenance/Développement
  • S3. Le Chevauchement Des Rejets
  • S4. Accueil Ligne
  • S5. Mise En Scène De L'Intégration Des Lignes
  • S6. Modifier La Propagation Des Files D'Attente
  • S7. Troisième Partie D.
  • S8. À L'Intérieur/À L'Extérieur Des Lignes

9voto

Baxissimo Points 1822

Je pense que cela dépend vraiment de l'ampleur de votre opération. Jusqu'à peut-être 5 à 10 développeurs qui s'engagent dans le tronc devraient vraiment être en ordre. Mais bien sûr, chacun doit garder à l’esprit que le coffre doit toujours être compilable. S'ils travaillent sur des modifications majeures qui ne seront pas compilées pendant un certain temps, ils devraient passer à une branche.

9voto

bcwood Points 3599

Lors de l'utilisation de Subversion, il est pratique courante pour tout le monde à travailler hors du tronc. Si un développeur travaille sur un grand ou "expérimental", il peut être judicieux de créer une branche distincte pour ce travail, qui peuvent être fusionnés dans le tronc plus tard.

Bien que la méthode que vous décrivez, avec chaque développeur ayant leur propre branche, est plus proche de Git que de la Subversion. Si c'est la manière que vous préférez utiliser, je le recommande fortement l'utilisation de Git à la place.

Avec Git, il n'est pas nécessaire d'utiliser une sorte de serveur d'intégration continue à regarder les branches distinctes. Au lieu de cela, chaque développeur a sa propre branche, ils peuvent tout simplement se réinsèrent dans la branche principale quand ils le veulent.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X