Contents
Sistema de Manejo de Versiones Subversion
Este sistema se volvió muy popular y esta es otra guía para mostrar algunos trucos comunes y no tan comunes.
Usuario
¿Cómo uso subversion si ssh está corriendo en el servidor en un puerto NO estándar?
Se coloca la variable de ambiente que específica el puerto, por ejemplo 10022 en este caso.
- SVN_SSH="ssh -p 10022" svn update
Se asume que previamente se debió haber hecho un checkout como:
SVN_SSH="ssh -p 10022" svn co svn+ssh://usuario@servidor/path/a/repositorio modulo
¿Cómo obtengo los cambios de la última versión?
svn diff -r PREV:COMMITTED propERP.tex
Hice commit de algo que no debí haber enviado. ¿Cómo restaurar todos los archivos a la versión anterior?
Asegúrese de hacer un backup y aplique
svn merge -r ACTUAL:ANTERIOR svn+ssh://usuario@servidor/path/a/repositorio
Recuerde primero, va actual y después la versión anterior, ACTUAL>ANTERIOR.
¿Hay un cliente gráfico recomendado?
svn-workbench que está en Debian con apt-get install svn-workbench.
Administración
¿Cómo configuro un repositorio con lectura para todos y autenticado para escritura?
La clave está en LimitExcept, usualmente allí se colocará valid-user, pero en este caso se está empleando el esquema de autenticar frente a un grupo del sistema
<Location /repositorio/2008> AuthName "Repositorio Once 2008" DAV svn SVNPath /home/estudiante/repositorios/2008 AuthType Basic AuthGROUP_Enabled On AuthPAM_Enabled on AuthPAM_FallThrough off AuthBasicAuthoritative off <LimitExcept GET PROPFIND OPTIONS REPORT> require group sistemasonce </LimitExcept> </Location>
apt-get install libapache2-mod-auth-sys-group libapache2-mod-auth-pam
a2enmod auth_sys_group a2enmod auth_pam adduser www-data shadow
El repositorio estaría en /home/estudiante/repositorios/2008
Estadísticas
¿Cómo genero gráficas y estadísticas de commits a un repositorio?
Instalar mpy-svn-stats
apt-get install mpy-svn-stats
Después se puede ejecutar algo como
cd /tmp ;mpy-svn-stats https://www.gfc.edu.co/repositorio/2008/;cp -a mpy-svn-stats/* ~/public_html/tmp/gfconcestats

