J'ai récemment rencontré un article MSDN sur la ramification et la fusion et SCM: Branching and Merging Primer - Chris Birmele .
Dans l'article, ils disent que la fusion du big bang est un contre-modèle fusionnant:
Big Bang Merge - reporter la fusion des branches à la fin de l'effort de développement et tenter de fusionner toutes les branches simultanément.
J'ai réalisé que cela est très similaire à ce que mon entreprise fait avec toutes les branches de développement qui sont produites.
Je travaille dans une très petite entreprise avec une personne agissant en tant qu'autorité de révision finale + fusion de tronc. Nous avons 5 développeurs (dont moi), chacun de nous se verra assigner une tâche / bogue / projet distinct et nous dériverons chacun du tronc actuel (subversion) et ensuite effectuerons le travail de développement dans notre branche, testons les résultats, rédiger la documentation si nécessaire, effectuez une revue par les pairs et une boucle de rétroaction avec les autres développeurs, puis soumettez la branche pour révision + fusion sur notre logiciel de gestion de projet.
Mon patron, la seule autorité sur le référentiel de troncs, reportera en fait toutes les révisions des branches jusqu'à un seul moment où il effectuera des révisions autant que possible, certaines branches seront renvoyées pour des améliorations / corrections, certaines les branches fusionneront directement dans le tronc, certaines branches seront rejetées en raison de conflits, etc.
Il n'est pas rare que nous ayons 10 à 20 succursales actives dans la file d'attente finale pour être fusionnées dans le tronc.
Nous devons également fréquemment résoudre les conflits lors de la phase finale de révision et de fusion, car deux branches ont été créées à partir du même tronc mais ont modifié le même morceau de code. Habituellement, nous évitons cela en rebranchant simplement le tronc et en réappliquant nos modifications et en résolvant les conflits, puis en soumettant la nouvelle branche pour révision (pauvre homme rebase).
Voici quelques questions directes que j'ai:
- Présentons-nous le très anti-modèle qui a été décrit comme la «fusion du big bang»?
- Certains des problèmes que nous constatons sont-ils le résultat de ce processus de fusion?
- Comment pouvons-nous améliorer ce processus de fusion sans augmenter le goulot d'étranglement sur mon patron?
Edit: je doute que mon patron desserre son emprise sur le référentiel de coffre, ou permette à d'autres développeurs de fusionner dans le coffre. Je ne sais pas quelles sont ses raisons, mais je n'ai pas vraiment l'intention de soulever le sujet parce qu'il a déjà été soulevé et abattu assez rapidement. Je pense qu'ils ne nous font tout simplement pas confiance, ce qui n'a pas de sens car tout est suivi de toute façon.
Tout autre aperçu de cette situation serait apprécié.