Sprava vice instalaci programu

Jan Kasprzak kas na fi.muni.cz
Pátek Duben 29 21:37:15 CEST 2005


Ing. Pavel PaJaSoft Janoušek wrote:
: > 	Asi by stacilo umet dostatecne elegantne nahravat jednotlive
: > changesety na server pokud mozno s tim, jestli si je preji zaradit
: > do "spolecne" vetve (nebo rozkopirovat do vsech vetvi; podle toho jak
: > by to bylo organizovane) nebo ponechat jen v te jedne vetvi.
: 
: 	v .svn je BASE verze, po checkout je "diff .svn/BASE BASE" prazdný.
: Vezmeme-li obvyklou správu = z nějakého master důvěryhodného serveru se
: dostaneme na instalační klienty, pak nám nic nebrání než instalační
: upravenou sadu nahrát třeba na master (nikoli do repository, s tím to nemá
: nic společného!) a teprve tam udělat commit vůči repository - základní
: způsob by mohl být tak, že na instalačním serveru vyrobím pouze Diff oproti
: BASE verzi - k tomu repository ani síť nepotřebuji (PODSTATNÁ změna
: Subversion oproti CVS... - ostatně, už v design návrhu Subversion je plně
: podporována situace - checkout, odejdu k moři nebo někam bez sítě,
: __plnohodnotně__ pracuji (i s celým SCM systémem!) a až se dostanu k síti,
: pouze provedu synchronizaci s master repository (update + commit) - zde
: myslím CVS je na tom podstatně jinak) - a na zcela jiném stroji tento diff
: budu aplikovat vůči konkrétní (=té samé) BASE verzi v repository.... - pouze
: zde musí být propojení - a to třeba pouze ve smyslu lokálního systému
: souborů.

	Cili jako checkout na serveru, rsync na instalaci, uprava na instalaci,
rsync zpet na server a commit na serveru? To by asi slo. Mozna se tim
ale taha vic dat nez je nezbytne nutne. Navic takto nemam rozumne moznost
delat vic zmen a pak je jednou za cas promitnout do master repository.
: 
: > 	Coz svn neumi (neumi changeset jako jednu samostatnou jednotku ktera
: > se kopiruje po siti). 
: 
: 	Nikdy jsem nepochopil, a bez mučení přiznávám, že jsem se ani
: nesnažil, architekturu a způsob práce s BitKeeperem nebo obdobných
: distribuovatelným SCM, nebylo třeba. Proto si nedovedu přesně představit
: pojem changeset (ačkoli v KernelTraficu na to narážím furt:->) - domnívám se
: však, že je to jiné pojmenování Diffu nad nějakou částí systému, kterou
: potřebuji dostat na jiné lokace (a ta jednotka nemusí to být zrovna celý
: projekt, adresář, ba ani soubor...)

	Ano, changeset je v podstate diff + komentar + pripadne filesystemove
operace (prejmenovani souboru atd.) + zmeny metadat (pristupova prava atd).
No a hlavni vyhoda SCM systemu orientovanych na changesety je, ze uz z podstaty
veci se tam mysli hlavne na merge. Predpoklada se ze je vic ruznych repository
ktere si mezi sebou vymenuji changesety, a verzovaci system ma zajistit
napriklad jednoduchou aplikaci jen nekterych changesetu ze vzdalene repository
(cherry-picking), rozumne mergovani (napriklad kdyz provadim merge z vice
zdroju, tak aby se zohlednilo, ze treba nektery changeset se dostal do obou
techto zdroju a u me pri mergovani se aplikoval jen jednou, atd.

	Ja prave mam dojem ze distribuovany SCM je asi to co chci - ze
na kazde instalaci by byla jedna repository, a nektere changesety by se
promitaly i jinam.

-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