Automaticky update pri commite v CVS

Peter Hanusiak peter na hanusiak.sk
Pátek Červen 20 15:40:17 CEST 2003


Caute,

pokusam sa vytvorit v CVS skript, ktory mi umozni pri commite od
jedneho developera urobit automaticky update tohto modulu ale v
inom adresary.

Modelovy priklad:
pages.war
devpages.war

obidva adresare su pre jedno a to iste repository. Su sharovane cez sambu
a na devpages.war robi developer co ma Windows CVS klienta. Mojou snahou
je aby pri jeho commite sa automaticky urobil update na ten isty subor
v pages.war. To uz je cisto UNIX. Pripadne konflitky neriesim, lebo
v tomto pripade to nebude nastavat (a ak nevadi).
takze vytvoril som pre CVSROOT/loginfo skript, ktory mi commite z toho
modulu urobi update:
toto je v loginfo:
pages\.war cvssync %s

a cvssync vyzera nasledovne
#!/bin/bash
echo $*
cd /var/webapps-jboss/dev$1
a=1
for i in $*
do if [ $a == "1" ]; then a=0 ; else echo $i ; fi
cvs update -d $i
done
cd -
exit 0

Momentalne to vyvijam, takze ten smer synchronizacie je opacny pages.war ->
 devpages.war
Este podotykam, ze obidva adresare su v tom istom adresary.

No a teraz co mi robi problemy. Ked dam commit v pages.war tak sa to zasekne a
dostanem deadlock. Vidno to z tejto spravy:
cvs update: [15:03:46] waiting for X's lock in /var/cvsroot/pages.war

No a to vypisuje kazdych 30 sekund. Je jasne, ze tadialto cesta nevedie. Neviem
vsak ako tento problem inac vyriesit. Mam niekto nejaky napad?

Kto pochopil o co sa snazim, urcite zistil, ze vlastne tym, ze spristupnujem
adresar CVS modulu viacej ako jednemu cloveku, tak vlastne popieram vlastne
CVS. A som tam kde by som bol bez neho. Ale realita je taka, ze vacsinu
uzivatelov neviem prinutit k tomu aby pouzivali CVS a preto je to takto
komplikovane riesene.

Kazdopadne by mi pomohlo aj to keby existoval CVS klient na windows a UNIX,
ktory je navzajom kompatibilny. T.j. vie pracovat nad spolocnym adresarom.
Nikde som taky zatial nenasiel.

Dopredu dakujem za vsetky pripomienky a rady.

-- 
Peter "Hanus" Hanusiak
E-mail: peter na hanusiak.sk
HomePage: http://www.hanusiak.sk
Phone: +491627813400


Další informace o konferenci Linux