[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [HS] CVS, branches et tags



Le 12809ième jour après Epoch,
Yves Rutschle écrivait:

> On Wed, Jan 26, 2005 at 02:09:05PM +0100, François TOURDE wrote:
>> > On Wed, Jan 26, 2005 at 12:00:19AM +0100, François TOURDE wrote:
>> >> Je détaille avec un schéma:
>> >> 
>> >> PROJET ---- rtag1 ---- rtag2 ---- etc.
>> >>   \
>> >>    \ branche1 --- b-rtag1 --- etc...
>> >> 
>> >> En gros, mon souci majeur est de créer "b-rtag1" en signalant que
>> >> c'est un tag en référence au tag "branche1"
>> >
>> > cvs co -r branche1 PROJET
>> > cd PROJET
>> > cvs tag b-rtag1
>> 
>> Déjà essayé, mais ça me crée un "non-branch tag"
>
> Ben oui, c'est un tag normal, pas une nouvelle branche.

Ben ouais, mais il y a confusion (dans ma tête peut-être) à ce
niveau. C'est un tag normal, mais qui porte sur une branche.

>> $ cvs rtag -r btag-1-1 btag-1-2 tc
>
> Ça voudrait dire "là où il y a un tag btag-1-1, met un tag
> btag-1-2". À moins que btag-1-1 ne soit une branche, ça ne
> sert pas à grand chose (à part à renommer le tag,
> possiblement).

Ben en fait, l'autre problème, c'est le sens du tag. Dans le tronc
principal, un tag fait référence à toutes les modifs faires jusqu'à la
date du tag.

Dans une branche, il semble qu'un tag fasse référence à toutes les
modifs faites à partir de la date du tag.

>> Pardon, le tag principal est pour moi un tag portant sur le MAIN trunk
>> au sens de CVS, c'est à dire un tag sur la version courante, sans
>> notion de branche.
>
> Il n'y a aucune différence entre le tronc principal et les
> branches, et en particulier les tags ont la même valeur
> partout (par là je veux dire qu'un tag sur le tronc
> principal n'est pas "spécial"). La seule particuliarité du
> tronc principal est que c'est ce qu'on récupère par defaut
> si on fait un "cvs co" sans -r. Nos projets ici n'utilisent
> pas du tout le tronc principal.

Ah? Même pour des fusion de modifications? Si tu as une doc de type
"guideline" sur la façon dont vous bossez, ça m'intéresse fortement ;)

>> Je pense toutefois que mon erreur porte sur l'utilisation systématique
>> de rtag, alors que lorsqu'on travaille sur une branche il faut plutôt
>> faire des tag.
>
> Il n'y a pas de différence entre les tags crées par la
> commande 'tag' et les tags créés par le commande 'rtag'. Il
> n'existe que 2 sortes de tags: les branches, et les tags
> normaux. L'avantage d'utiliser la commande 'tag' sur un
> espace de travail, est que tu sais dans quelle branche tu
> taggue (celle de l'espace de travail).
>
> D'ailleurs, il est dangereux d'utiliser rtag comme tu le
> fais: ça met un tag directement à la tête de la branche
> spécifiée, directement dans le dépot CVS. Quelqu'un pourrait
> avoir commité qqch juste avant que tu ne fasses ton 'rtag',
> auquel cas tu ne sais en fait pas ce que tu taggues. Il est
> nettement meilleur de tagguer sur une version que tu
> contrôles. AMHA, rtag n'est utile que pour renommer ou
> déplacer des tags.

En fait, c'est un peu ce que je pensais. Je vais plutôt jouer avec les
tags maintenant. Le rtag ne me servira que pour créer des branches en
référant d'autres tags déjà posés.

Merci en tout cas à toi et aux autres de ce fil pour ces réponses sur
ce grave HS ;)



Reply to: