Sziasztok,

Svn-hez írok pre-commit scriptet, és ebben kellene egy kis segítség.
Szeretném az apache konfigfájljait svn alá vonni, és megoldani, hogy
a pre-commit script csak akkor fogadja el a commit, hogyha az a konfigfájl
rendben van.

A terv, ill. előfeltételek ezek:
/var/lib/svn/reponev alatt van a repó.
/var/lib/svn/working_copy alatt van egy munkapéldány, amit a sikeres
commitok végén a post-commit script minden egyes alkalommal update-l.

Szóval, a terv az lenne, hogy /tmp/apacheck könyvtár alá előállítani "FIXME"
módon azt az állapotot, amit a commit csinálna. (Ez most munkaverzió.
Nyilván a véglegesben mindenféle race conditionök, meg ilyen etwasok ki
lészenek védve a /tmp-ben.)

pre-commit script lényegi váza:
rsync --kapcsolok --delete /tmp/apacheck/ /etc/apache2
if apache2ctl configtest ; then
echo Remekez
else
rsync --kapcsolok --delete /var/lib/svn/working_copy/apache /etc/apache2
fi

post-commit script-be meg mehet egy apache2ctl reload (esetleg restart
autodetection, ha nagyon ráérek ;-) )

A kérdés csak az, hogy FIXME-re tegyen nekem vki. javaslatot.
Alapból nem lenne olyan nehéz az svnlook changes -en végigmenni.
Nade, az apache konfigjaiban vannak symlink-ek is:
{sites,mods}-{available,enabled} könyvtárakra gondolok.

És ha már nem elég a changed első betűjét (A, D, U) nézni, akkor elég
böszme nagy magú while ciklus kell, ami elő tudja állítani az új állapotot.
Hacsaaak, nem tud vki. nekem egy jobb trükköt mondani...

Köszi a segítséget!

Üdv:Gyur!
_________________________________________________
linux lista      -      linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux

válasz