Puisque nous développons sur un système déployé, nous essayons de faire un meilleur usage de l'embranchement - Jusqu'à récemment, à peu près tout était juste vérifié dans le réseau, déployé pour tester/mise en scène et ensuite la production. Cela signifie que nous devons être très prudents pendant la période de "Test", et nous recevons parfois des modifications non désirées envoyées au serveur avec peu de tests. Ma pensée est que la meilleure façon serait que les correctifs "mineurs" soient directement sur le tronc, que les fonctionnalités principales deviennent des branches qui sont réintroduites dans le tronc une fois complétées et un "Production" branch qui correspond toujours à l'état du serveur que nous pouvons fusionner avant le déploiement. Le principal avantage offert ici est que vous pouvez choisir les changements à apporter à la production - si vous le souhaitez, vous pouvez saisir un seul chèque ou succursale et l'envoyer en production sans impliquer toutes les autres succursales. D'autre part, il semble préférable d'avoir des branches souvent intégrées au tronc - tirer les changements de sorte qu'ils ne s'accumulent pas et faire une mauvaise fusion. Par conséquent, ces deux modèles peuvent conduire au cas où vous souhaitez fusionner une branche avec Production afin d'obtenir une fonction importante, mais cette branche a déjà "intégré" les modifications du tronc que vous ne souhaitez pas expédier.SVN Branching/Fusion avec fonctionnalité et branche de production
Est-ce que SVN peut gérer cela? Y a-t-il vraiment de bonnes pratiques qui fonctionnent pour les groupes qui développent du code qui est déployé toutes les deux semaines?
Voulez-vous fusionner la fonctionnalité à la production sans la fusionner au tronc? – maxim1000
Vous aurez plus de chance avec Subversion 1.8. Il apporte des améliorations significatives au moteur de fusion, en particulier pour les cas d'utilisation plus avancés tels que les fusions de frères et soeurs. –
Personnellement, je traiterais le tronc comme un roi: il n'y a pas de développement là-bas, seulement des fusions à partir de branches créées sur le tronc. Vous effectuez le contrôle qualité habituel sur une branche de fonctionnalité et, une fois la connexion terminée, fusionnez-la de nouveau dans le tronçon. Ensuite, étiquetez le coffre et mettez-le en production. Nouvelle fonctionnalité branchez le tronc et le cycle recommence. S'il y a un bogue qui doit être corrigé immédiatement, créez une branche de correction de bogue à partir du tronc à la révision balisée, corrigez le bogue, faites l'AQ, puis fusionnez-le de nouveau, étiquetez et relâchez en production. Il est très facile de suivre ce flux de travail une fois que vous avez effectué quelques versions. Juste mes deux cents. –