Sprava vice instalaci programu

Jan Kasprzak kas na fi.muni.cz
Pátek Duben 29 13:19:18 CEST 2005


	Zdravim,

mam takovy koncepcni dotaz - spis namet na brainstorming. Jak byste resili
takovyto problem:

	Zdedil jsem spravu jisteho softwaru, ktery je psany v Perlu
a ktery se s ruznymi lokalnimi upravami provozuje asi na 10-15 pocitacich
ruzne po Brne. Software je temer stejny na vsech instalacich, ale zase
temer vsude jsou nejake lokalni upravy (at uz umisteni v jinych adresarich
nebo treba zmeny kvuji jine verzi Perlu, nebo i funkcni upravy pro konkretni
misto). A ted je otazka jak tohle udrzovat.

	Doposud to fungovalo tak, ze zmeny se delaji primo na miste
kde ten program bezi (zadne make install nebo neco takoveho) a obcas si tarem
zazalohuju novou verzi a zkopiruju nekam na centralni misto. Takhle to
asi muze fungovat i nadale, ale pokud bych se rozhodl delat nejake vetsi
zmeny (ve spolecne funkcionalite), tak by to byl mozna problem. A ja asi
casem nejake globalni zmeny budu muset delat.

	Cili asi pouzit nejaky verzovaci system. Ovsem nevim jaky.
Subversion se mi nezda vhodne z toho duvodu, ze bych potreboval mit
z tech aplikacnich pocitacu pristupne master repository treba pres ssh,
coz nechci. Idealni by bylo neco, co by fungovalo presne opacnym smerem
- ze bych na "centralnim" pocitaci rekl "chci diff HEAD oproti tomu co je
ted nainstalovano na pocitaci a.b.c.cz v /opt/mojeaplikace", pripadne
"chci do HEAD commitnout to co je ted na pocitaci a.b.c.cz v /opt/mojeaplikace"
(nebo i jinam nez do HEAD). Cili abych operace verzovaciho systemu
inicioval z centra, nebo abych na tom lokalnim pocitaci mohl vygenerovat
nejaky samostatny changeset/patch, ktery bych prenesl do centra a tam
aplikoval. Mozna by to splnoval Arch/tla, ale ten ma zase fakt divnou
strukturu filesystemu a ne uplne intuitivni prikazy.

	Dalsi otazka je, jestli kdyz uz verzovaci system, tak jak ty
lokalni rozdily udrzovat - mit pro kazdy stroj zvlast vetev a pri commitu
do "spolecne" casti jeste navic delat merge do vsech vetvi? Nebo naopak
mit jeden spolecny kod pro vsechny s tim, ze na ruznych mistech kodu
budou konstrukce typu

	if (hostname eq 'a.b.c.cz') {
		# lokalni specialita pro a.b.c.cz
	}

(a v tomto druhem pripade: jak resit prechodny stav - prechod od
tech lokalnich verzi k jedne centralni verzi)?

	Pokud jste nekdy nekdo spravovali podobny projekt, uvitam
i jakekoli dalsi zkusenosti, treba tipy na to, jak strukturovat
repository, atd.

	Diky,

-Y.

-- 
| Jan "Yenya" Kasprzak  <kas at {fi.muni.cz - work | yenya.net - private}> |
| GPG: ID 1024/D3498839      Fingerprint 0D99A7FB206605D7 8B35FCDE05B18A5E |
| http://www.fi.muni.cz/~kas/   Czech Linux Homepage: http://www.linux.cz/ |
-- Yes. CVS is much denser.                                               --
-- CVS is also total crap. So your point is?             --Linus Torvalds --


Další informace o konferenci Linux