On Wed, Jan 26, 2005 at 03:36:33PM +0100, François TOURDE wrote:
> mais il y a confusion (dans ma tête peut-être)

Oui :-)

> C'est un tag normal, mais qui porte sur une branche.

C'est pareil.

> 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.

À moins que tu ne sois allé voir les fichiers d'historique
(et il ne faut pas), il n'y a pas de différence
fonctionnelle entre les deux. Le tag n'est vraiment qu'une
façon de donner un nom symbolique à une révision d'un
fichier.

En fait, ta description d'un 'tag dans une branche' me
semble correspondre à la définition d'une branche. Si j'ai:

file.c:1.1  --- file.c:1.2 ---- file.c:1.3
[tag t1]                         [tag t2]
    |
    |
    \---[branche b1] --- file.c:1.1.2.1 --- file.c:1.1.2.2 --- file.c 1.1.2.3
                                             [tag t3]


J'ai obtenu la branche en faisant:
cvs co -r t1 projet
cd projet
cvs tag -b b1

Ensuite j'ai travaillé sur cette branche:
cvs co -r b1 projet
[edit file.c]
cvs ci
[on crée file.c:1.1.2.1]
[edit file.c]
cvs ci
[on crée file.c:1.1.2.2]

je fais un tag "normal" dans cette branche:
cvs tag t3

(puis je continue à travailler et je fais 1.1.2.3)


Pendant ce temps, mes collègues travaillent dans la branche
"principale"; ils ont crée file.c:1.2, puis file.c:1.3. L'un
d'entre eux taggue aussi:
cvs tag t2

À ce stage, si un nouveau venu fait:

cvs co -r t2
il récurpère file.c:1.3

cvs co -r t1
il récupère file.c:1.1

cvs co -r t3
il récupère file.c:1.1.2.2

cvs co -r b1
il demande la tête de la branche b1, il récupère 1.1.2.3

C'est peut-être là où tu t'emmèle: Il faut considérer qu'un
tag de branche est un nom de branche, et le comportement
devient alors évident (AMA): quand on parle de la branche,
on parle de sa tête, et l'endroit où l'on a commencé la
branche n'est plus tellement important.


> > Il n'y a aucune différence entre le tronc principal et les
> > branches
> Ah? Même pour des fusion de modifications? 

Même, dans la mesure où tu fais les fusions dans un espace
de travail (d'ailleur, je ne crois pas qu'il y ai le choix).
Dans mon exemple, je travaille toujours sur ma branche b1,
mais je veux récupérer les changements de mes collègues:

cvs update -j t2

> Si tu as une doc de type "guideline" sur la façon dont
> vous bossez, ça m'intéresse fortement ;)

Nous sommes des sauvages qui ne documentent rien (sans
blague).

> 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.

tag et rtag sont deux commandes qui font la même chose de
façon différente (tag se base sur les révisions qui sont
dans ton espace de travail, alors que rtag se base sur ce
qui dans le dépot CVS).

Personellement je n'utilise pas rtag pour faire de branche
non plus, je fais:

cvs co -r vieuxtag projet
cd projet
cvs tag -b nouvellebranche


Y. - débranché


-- 
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Répondre à