2010-11-16 6 views
4

J'ai comme 1.0, 1.1, 1.2 branches et je veux que chaque commit qui va dans 1.0 pour aller automatiquement à 1.1 et 1.2 et chaque commit à 1.1 pour aller automatiquement s'est engagé à 1.2SVN comment committer automatiquement dans plusieurs branches?

est-il possible de faire tout cela en une seule transaction et automatiquement? quelqu'un peut-il me dire comment s'il vous plaît? (peut-il être avec exemple s'il vous plaît?)

+1

Vos branches SVN ne sont pas supposées être des copies complètes du tronc. Vos succursales ne devraient contenir que les modules qui ont changé. Si vous voulez une version 1.1 et une version 1.2, vous utiliserez des tags. –

Répondre

4

Oui et non. Vous pouvez le rendre atomique si vous extrayez tout le dépôt (ou au moins le dossier des branches). Ce ne sera pas automatique cependant. Vous devrez appliquer les changements vous-même aux autres branches. Les différentes branches ont vraisemblablement un code différent (vous avez dit qu'il s'agissait de branches de version), donc l'application du même correctif à différentes branches peut nécessiter des modifications différentes. Vous ne pouvez pas (en général), toujours éviter l'intervention humaine.

Je contesterais l'idée de faire ressembler tout à 1 transaction. Cela aura un impact négatif sur la qualité de votre histoire. Il semblera que vous avez changé indépendamment dans de nombreux endroits. Si vous faites de la fusion avec d'autres branches une transaction distincte, l'historique reflétera mieux ce que vous avez réellement fait (faire une modification et revenir sur le portage). Y a-t-il une raison pour laquelle vous devez modifier toutes les branches dans 1 Transaction?

+3

Dans ce cas, vous ne pouvez pas souligner que "ce n'est pas une bonne idée" partie assez forte. – gimpf

+0

Je voulais que s'il y a un conflit dans une fusion automatique en 1.1 de 1.0 par exemple pour avertir l'utilisateur et lui dire que vous ne pouvez pas valider vos modifications, vous devez d'abord résoudre les conflits avec 1.1 avant de commettre. mot-clé comme "J'ai résolu les conflits avec 1.1" pour le laisser commettre ses modifications à 1.0 – Jas

+0

Vous pouvez le faire avec un crochet de validation de publication. Une approche alternative pourrait consister à utiliser un serveur d'intégration continue comme Team City ou à engager des testeurs. –

Questions connexes