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

Re: CVS melange de plusieurs projets



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.


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.

Et pour la flameware : WML RULEZ ! ;)

Bye, Mt.

-- 
Un clavier azerty en vaut deux.



Reply to: