Automaticky update pri commite v CVS

Peter Hanusiak peter na hanusiak.sk
Pátek Červen 20 16:49:11 CEST 2003


On Fri, Jun 20, 2003 at 04:38:35PM +0200, Petr Stehlik wrote:
> > nechcem robit update na cely adresar
>
> moc ten server setrite.
:-)
> > lebo si musim priebezne ukladat informacie co bolo commitovane. A to
> > nejak lockovat aby som nemal race condition, ked to potom budem vyhadzovat
> > pri update. Cize klasicky race condition problem.
>
> musim teto diskuse zanechat, protoze tomu zjevne nerozumim. Napr. si
> neumim predstavit race pri update. Nevim ani co znamena "vyhadzovat pri
> update" - prece cvs si udela vsechno sam jak chce. A kolize tam nebudou,
> to jste prece puvodne tvrdil. A stejne mi prijde nejjednodussi udelat
> cvs up na cely strom.
>
Nie je to zas az take tazke :-) Len zle vysvetlujem.
Za predpokladu, ze nechcem robit cely update na adresar ale iba na
zmeneny, zmazane a pridane subory, potrebujem si niekde uchovat informaciu
o nich. CVS priamo poskytuje moznost ako si tuto informaciu uchovavat.
v CVSROOT repository su administrativne subory na spravu CVS. Jeden z nich
konkretne loginfo sluzi za post-commit "logovanie". To znamena, ze tu by
som si dal skript, ktory pri kazdpom commit-e ulozi zoznam zmenenych
suborov do nejakej "globalnej fronty".
Tato fronta by sluzila pre cron, ktory by si z tadial precital, co
bolo zmenene a len to by updatoval.
Problem nastane ked cron bude dotycnu frontu vyprazdnovat, teda tie
subory, ktore uz updatol. Vznika tradicny problem konzumenta a producenta.
Myslim, ze si uz rozumieme.
Pisal som, ze som lenivy to riesit lebo ani neviem ako sa da tento
problem riesit v bash skriptingu. Ak mi to niekto vysvetli, budem
len rad. :-)
                                                                                                                             
-- 
Peter "Hanus" Hanusiak
E-mail: peter na hanusiak.sk
HomePage: http://www.hanusiak.sk
Phone: +491627813400


Další informace o konferenci Linux