Configuro Subversion
De Kafre.org
Sincronizar Configuración con Subversion
Cada vez que quiera hacer commit a subversion tender que correr el siguiente comando:
/etc/scripts/CommitSetup.sh "COMENTARIO QUE QUIERA PONER"
Como he conseguido esto
La verdad que como todo es copia de algún lado. Esto lo he sacado de http://articles.techrepublic.com.com/5100-10878_11-6142224.html# Lo que viene a decir es que para tener las copias de la configuración en subversion comentadas después de cada cambio hay que:
Crear un repositorio de subversion.
mkdir -p /root/subversion/copy svnadmin create /root/subversion/repos --fs-type fsfs
Le doy permisos para apache (por si quiero acceder por apache)
chown -R apache /root/subversion/repos chmod -R go-rwx /root/subversion/repos
Crear un directorio donde va a esta el working copy (copia que se baja de subversion).
cd ~/subversion/copy
Copiamos ahí lo que tengamos en /etc con rsync.
rsync -a /etc .
Lo importamos a subversion.
svn import etc file:///root/subversion/repos -m "initial import"
Borramos ahora esto.
rm -rf etc
Hacemos checkout con subversion.
svn co file:///root/subversion/repos etc
Aquí ya tenemos la configuración en subversion. Ahora viene lo bueno. Con el siguiente script lo que hacemos es que cada vez que lo corramos pasándole un comentario como parámetro el script se encarga de buscar modificaciones/eliminaciones o ficheros nuevos en /etc, aplica los cambios en subversion y le pone el comentario que le has pasado como parametro
Script para actualizar subversion con los ultimos cambios de la configuracion
#!/bin/sh
# script to make an automated commit of /etc to subversion
svncopy="/root/subversion/copy"
svnrepo="/root/subversion/repos"
pushd ${svncopy} >/dev/null 2>&1
rsync -a --delete --exclude=.svn /etc .
popd >/dev/null 2>&1
pushd ${svncopy}/etc >/dev/null 2>&1
svnstatus="$(svn status)"
if [ "${svnstatus}" != "" ]; then
echo "The following changes were made to /etc:"
tmpfile=$(mktemp /root/subversion/svn.XXXXXX)
svn status >${tmpfile} 2>&1
cat ${tmpfile}
echo ""
svntoadd=$(cat ${tmpfile} | egrep '^\?')
for i in ${svntoadd}; do
if [ "${i}" != "?" ]; then
svn add ${i}
fi
done
svntodel=$(cat ${tmpfile} | egrep '^\!')
for i in ${svntodel}; do
if [ "${i}" != "!" ]; then
svn rm ${i}
fi
done
svn commit -m "Auto-commit, after changes: $1"
rm -f ${tmpfile}
fi
popd >/dev/null 2>&1Todo esto es muy bonito, pero para mi no me valdría de mucho porque lo que yo quería es poder ver los cambios reportados de alguna manera y el código a la vez, y para eso necesito a Como Instalar Trac en CentOS. Que me ha costado un poco configurar pero al final lo consegui.

