Re: CVS melange de plusieurs projets
Le ven 26 oct 2001 11:18:31 GMT, William Dodé a écrit :
> Charles Goyard wrote:
> >
> > Le ven 26 oct 2001 09:44:35 GMT, William Dodé a écrit :
> > > Laurent Martelli wrote:
> > > >
> > > > William> Bref, c'est peut-être pas très clair,
> > > >
> > > > En effet :-)
> > > J'ai 3 projets, A, B et X, A et B on besoin de X donc j'ai une arbo
> > > comme ça :
> > >
> > > /A/x
> > > /B/x
> >
> > Moi je verrais plutôt :
> >
> > /A
> > /B
> > /X
> >
> > > Si je commit A, je vais commiter x en même temps. Hors je voudrais
> > > pouvoir garder des versions différentes de x suivant s'il est sous A ou
> > > sous B...
> >
> > Tu peux rendre X configurable pour qu'il puisse s'adapter à A ou B
> > facilement. Si X est bien un projet (une bibliothèque ?), les différences
> > entre le X(A) et le X(B) ne doivent pas être énormes. Si les différences
> > sont énormes, alors X n'est pas un projet.
> >
> > Ça ressemble à un problème de conception, ton histoire de projet
> > commun-mais-pas-commun.
>
> Ca me parait pourtant classique, mes projets sont des sites en PHP, X
> c'est des classes génériques.
> Les sites A et B utilisent donc les mêmes classes génériques, mais pas
> forcément les mêmes versions.
> Par exemple le site A est critique et préfère rester avec la dernière
> version stable de X, par contre le site B est moins critique et me
> permet de tester la dernière version béta de X...
> S'il y avait une notion de librairie en PHP, évidement, je pourrais
> séparer complètement les 3 projets...
Ah, d'accord. Avec CVS, tu peux mettre des tags aux versions. Par
exemple, pour ta version éprouvée et testée, tu peux mettre un tag
STABLE. Ce qui fait que quand tu exportes les sources du repositoire,
pour ton projet A critique, tu fais un :
cvs export -r STABLE X
cvs export -r HEAD A
Pour mettre un tag à une version, c'est la commande 'tag' ou 'rtag'
(rtag pour un module complet).
cvs rtag -r 1.2 STABLE X
permet de mettre un tag STABLE sur la version 1.2 du module X
fichier par fichier, c'est :
cvs tag -r 1.2 STABLE files...
Quand la version stable change (donc le tag stable existe déjà), il faut
ajouter -F à la commande tag pour lui dire de déplacer le tag.
Ensuite, tu peux carrément faire des branches mais là je connais pas.
Je te recommande d'imprimer la refcard de cvs (dispo sur
http://refcards.com/).
HTH.
--
Charles
Reply to: