2009-12-17 6 views
3

Nous avons un référentiel avec la structure suivante:tag arbre partiel vs complet tronc svn

repos 
    trunk 
    module1 
    module2 
    ... 
    tags 
    branches 

Nous modules individuels D'habitude, au client et parfois toute l'application.

Maintenant, nous allons livrer module1 et je suis en train de décider entre ces deux options:

  • a) étiquette module1 (ie copier trunk/module1 aux tags/module1_v1.00)
  • b) étiqueter le tronc complet (c'est-à-dire copier le joncteur sur les balises/v1.00)

Y a-t-il une convention selon laquelle toutes les balises doivent inclure le joncteur réseau complet? Y a-t-il une bonne raison de faire une chose ou l'autre?

Merci!

+0

Il n'y a pas de coût supplémentaire dans un sens ou dans l'autre, y a-t-il quelque chose que vous n'aimez pas dans le marquage de tout le coffre? –

+0

Ce n'est pas une question de coût. Si je libère module1, je ne me soucie pas de l'état dans lequel module2 peut être. Peut-être que module2 est au milieu de certains travaux et ne devrait pas être étiqueté pour le moment. Je tiens également à préciser que je libère module1, et pas n'importe quel autre module. – tato

Répondre

5

S'il y a des interdépendances, alors vous devriez tous les marquer, sinon baliser un seul est bon. De toute façon, vous voulez être cohérent.

Si vous marquez un module, le chemin doit être:

/tags/rel_1.0/module1 

pas

/tags/module1_v1.0 

Bien sûr, vous pouvez faire ce que vous voulez, mais il est préférable de suivre les recommandations SVN.

http://svnbook.red-bean.com/en/1.5/svn.branchmerge.commonpatterns.html

+0

Je ne trouve pas la recommandation svn pour ce problème particulier. Si je suis votre conseil, alors en créant la v1.00 de module2 peut-être deux semaines plus tard, il vivra dans le même répertoire rel_1.0 ... et je ne peux pas dire s'il s'agit de la v1.00 du projet entier ou v1.00 de module1 puis v1.00 de module2 – tato

+0

si vos "modules" sont disjoints alors vous ne devriez pas les garder tous dans un tronc et chacun devrait avoir son propre ensemble de balises/branches/trunk répertoires. –

1

Vous pourriez avoir quelque chose comme

trunk 
    module1 
    module2 
tags 
    fullProject 
    components 
    module1 
    module2 

De cette façon, vous pouvez étiqueter votre module indépendamment de vos communiqués de presse complets du projet. Par exemple tags/components/module1/20091217.

Questions connexes