Mon équipe utilise SVN pour le contrôle de source. Récemment, j'ai travaillé sur une branche avec des fusions occasionnelles du tronc et cela a été une expérience plutôt ennuyeuse (voir le "Subversion Story #1" de Joel Spolsky), donc j'ai cherché d'autres manières de gérer les branches et de fusionner. Étant donné qu'un référentiel SVN centralisé n'est pas négociable, j'aimerais un ensemble d'outils répondant aux conditions suivantes.Outils pour maintenir des branches dans SVN
L'historique complet des révisions doit être stocké dans SVN pour les lignes réseau et les branches.
La fusion dans l'une ou l'autre direction (et la possibilité de s'entrecroiser) devrait être relativement indolore.
L'historique de fusion doit être stocké dans SVN dans toute la mesure du possible.
Je l'ai regardé à la fois git-svn
et bzr-svn
et ne semble être à la hauteur — essentiellement, compte tenu de l'historique de révision, ils peuvent exporter à partir du dépôt SVN, ils ne semblent pas faire mieux une la gestion des tâches fusionne que SVN peut. Par exemple, après avoir cloné le référentiel avec git
, l'historique des révisions de ma branche montre la branche d'origine du tronc, mais git
ne "voit" aucune des fusions SVN intermédiaires car "natif" fusionne — l'historique des révisions est long ligne. Par conséquent, toute tentative de fusion à partir du tronc dans git
génère autant de conflits qu'une fusion SVN. (D'ailleurs, le git-svn
documentation met explicitement en garde contre l'utilisation git
de fusion entre les branches.)
Y at-il un moyen d'ajuster mon flux de travail pour faire git
satisfaire les exigences ci-dessus? Peut-être que j'ai juste besoin de trucs ou astuces (ou d'un outil de fusion séparé?) Pour aider SVN à fusionner en branches.
On dirait que vous devez vraiment convaincre votre équipe d'utiliser git. : P – Amber
Je pense, malheureusement, que vous vous heurtez au fait que SVN est simplement limité dans sa capacité à fusionner des branches - et tant que votre repo central est un repo SVN, il est difficile pour toute quantité de magie git vous sauve. Je suis certainement curieux de voir s'il y a de bons kludges de travail! – Cascabel