4 votes

Devriez-vous utiliser des branches dans subversion si une seule personne travaille sur un projet ?

Je commence tout juste à utiliser Subversion sur un projet C#. Je travaille seul sur ce projet, mais j'essaie de le traiter comme si je travaillais dans un groupe pour ma propre expérience d'apprentissage.

Si je comprends bien, la façon typique de travailler avec subversion est d'avoir un dossier trunk qui sera toujours construit. Les changements majeurs sont ensuite créés dans de nouvelles branches, qui sont ensuite fusionnées dans le tronc lorsqu'elles sont terminées. Il peut donc y avoir plusieurs branches simultanées sur lesquelles travaillent différents membres de l'équipe.

Mais si je travaille seul, y a-t-il un intérêt à créer une branche ? Disons que je suis à la révision 100 dans HEAD. Je vais créer une branche à la révision 101, puis continuer à travailler sur la branche jusqu'à la révision 110. Maintenant je peux fusionner la révision 110 dans le tronc, mais il n'y a personne d'autre sur le projet donc il n'y aura pas de changement dans le tronc pour fusionner. Je ne ferais que fusionner directement dans la révision 100 où j'ai créé la branche à l'origine.

10voto

Dour High Arch Points 11896

Les branches n'ont rien à voir avec le nombre de personnes qui travaillent sur un projet. Une branche est destinée à un flux de développement alternatif, comme des ensembles de fonctionnalités, des cibles matérielles ou des clients différents.

Si 100 personnes travaillent sur un seul produit livrable, elles doivent utiliser la même branche. Si une seule personne s'occupe d'une douzaine de produits livrables différents, elle doit avoir une douzaine de branches.

4voto

Alex Rodrigues Points 679

Je pense que les branches devraient être utilisées lorsque vous avez besoin de séparer le code réel de la base, par exemple lorsque vous avez besoin d'essayer une solution farfelue pour un problème ou autre. Avec les branches, vous pouvez séparer les problèmes et les tentatives de résolution et garder le contrôle de la version.

4voto

Oren S Points 1039

Une branche (par opposition à une étiquette) est une maintenable version du code. Même en tant que développeur unique, vous pouvez vouloir maintenir plus d'une version de votre code (par exemple, pour migrer les corrections de bogues vers les anciennes versions).
Le livre SVN énumère les deux cas d'utilisation les plus courants des branches SVN. ici .
Les politiques de branchement des deux méthodes ne sont pas directement liées au nombre de développeurs du projet.
À moins que vous ne travailliez sur un projet à court terme (tel qu'un projet universitaire, une version unique), essayez d'utiliser l'une de ces politiques. Les frais généraux de gestion sont assez faibles et cela peut vous faciliter la vie par la suite.

0voto

Jon Points 23749

Il n'y a pas vraiment d'intérêt à créer des branches si vous êtes le seul à travailler sur le projet - vous pouvez simplement utiliser les révisions après tout pour revenir en arrière.

Si, toutefois, vous vouliez faire quelque chose de majeur et d'expérimental et que vous vouliez essayer quelques trucs, vous pourriez utiliser la branche pour isoler vos changements et préserver le tronc.

Vous pourriez travailler entièrement à partir du tronc comme ceci et ensuite utiliser des balises de version ou des branches pour des buts historiques... et d'autres branches pour le travail expérimental.

0voto

Julien Points 2256

Je garde 2 branches : développement et tronc car on ne sait jamais quand on doit faire une correction rapide en production. Je peux travailler sur de nouvelles fonctionnalités pendant 1 à 3 semaines avant de les porter en production. Dans l'intervalle, je peux être amené à déployer des correctifs en production. En conservant deux branches, je peux facilement déployer uniquement les corrections de bogues.

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