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

Re: CVS melange de plusieurs projets



William Dodé wrote:
> 
> Martin Quinson wrote:
> >
> > On Fri, Oct 26, 2001 at 11:18:31AM +0200, William Dodé wrote:
> > > Charles Goyard wrote:
> > > > Le ven 26 oct 2001 09:44:35 GMT, William Dodé a écrit :
> > > > > 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.
> >
> > Mon avis :
> > Dans ta version d'utilisation (checkouté du CVS, utilisée en production dans
> > PHP), tu fais :
> > /A/x
> > /B/x
> >
> > Dans le CVS, tu fais :
> > /A
> > /B
> > /X
> >
> > Rien ne t'oblige à suivre la meme arborescence dans ton référentiel CVS
> > (=repository) et dans la version d'utilisation (checkouté)
> >
> > Pour ca, tu cree le CVS comme doit être le référentiel, apres tu fais des mv
> > de répertoire et tu va triffouiler un peu dans A/CVS/Entries pour ajouter
> > une ligne
> > D/vrai_nom_de_x////
> >
> > (ca marche car c'est le CVS/Root du répertoire qui détermine ou aller
> > chercher les infos. C'est pas déduit de l'arborecence locale)
> >
> > Comme ca, quand tu fais un update (ou un commit) dans A, il fait de meme
> > dans X.
> C'est l'inverse que je cherche ! ne pas aller dans X
> >
> > Cette ruse de ne pas mettre les répertoires de la version de travail comme
> > dans le réferentiel te permet de couper en trois modules malgrès les
> > faiblesses de PHP.
> C'est exactement ce que j'ai fait !
> Seulement, quand je fait un commit dans A, il me dit que X n'est pas à
> jour... Normal puisque la version de X dans A est plus ancienne (et doit
> le rester) que la version de X dans B.
> 
> Il me faudrait pouvoir faire un commit dans A sans qu'il aille dans X...
> 
> a+
> 
> ps:
> Je gère déjà les Branches, le problème n'est pas là.
> Mes projets sont destinés à des serveurs mutualisés, je n'ai donc pas
> accès à la config apache...
> 
> --
> William Dodé - Informaticien Indépendant
> http://www.flibuste.net

Salut,

Voir également la doc de CVS concernant le fichier CVSROOT/modules. Ce
fichier est là pour résoudre les pb de ce genre (si j'ai bien compris la
question...).
Et ramener pour l'exemple celui du projet Gnome qui est assez instructif
:
	export CVSROOT=:pserver:anonymous@anoncvs.gnome.org:/cvs/gnome
	cvs login
	cvs co CVSROOT/modules

HTH.

_gilles.



Reply to: