Subversion
De Guifi.net - Wiki Hispano
Contenido
Instalar subversion
- En Debian, tan sencillo como:
apt-get install subversion
Descarga de programas
Para descargarte una copia con los últimos cambios del repositorio:
svn checkout http://url.dominio.com .
Esto genera en el directorio donde te encuentres los archivos del repositorio.
Cuando quieras sincronizar los cambios de tu copia con el servidor, y estando dentro del directorio creado:
svn --username nombre commit
Para subir la versión necesitas un usuario y una contraseña.
Para actualizar tu copia de trabajo entra en el directorio y ejecuta este comando:
svn update
Eso actualizará tu copia a la última. Si has hecho un cambio y quieres mandarlo, este comando te mostrará qué ficheros has cambiado:
svn status
Y esto sacará una descripción línea a línea de todos los cambios en un formato sencillo de comprender:
svn diff
Puedes ponerlo en un archivo redireccionándolo:
svn diff > my-patch.txt
Si te da problemas o te arrepientes de haber hecho un cambio antes de subirlo:
svn revert [nombre del archivo]
Si quieres volver a una revisión anterior:
svn update -r[número de revisión]
Para bajar una revisión antigua por primera vez:
svn checkout -r [número de revisión] http://url.dominio.com/trunk .
Si ya no te acuerdas de en qué revisión estás:
svn info
Apunta aquí ¿Qué es?
svn merge
Apunta aquí ¿Qué es?
svn resolved
svn copy en:Working_with_Subversion
Crear una rama:
svn copy http://url.dominio.com/trunk http://url.dominio.com/branches/X.XbetaXX -m "Creando la rama X.XbetaXX"
Administración
Instalación de un servidor de subversion
La instalación del svn se hace utilizando el módulo web dav /deltav de apache 2.0 y autenticando con ldap.
programas necesarios:
apt-get install subversion libapache2-svn
Directorio donde se almacenaran los repositorios
mkdir -p /var/lib/svn/
Cambiamos el grupo y usuario para poder acceder con la extension dav-svn de apache
chown -R www-data:www-data /var/lib/svn
Configurar apache2 editando /etc/apache2/sites-availible/svn.ext
<VirtualHost 10.0.0.0> SecureName svn.dominio.com <Location /svn> DAV svn SVNParentPath /var/lib/svn/path_del_repositorio AuthType Basic AuthName "Subversion Repository" #autenticacion con ldap AuthLDAPURL ldap://url.com/dc=nombre,dc=cc?uid?sub <LimitExcept GET PROPFIND OPTIONS REPORT> Require valid-user </LimitExcept> </Location> </VirtualHost>
Crear el repositorio de un proyecto(logeado como www-data)
svnadmin create /var/lib/svn/nombre
Activar el Virtualhost
a2ensite svn.ext
Activar los modulos de apache
a2enmod auth_ldap
Artículo sobre cómo instalar un servidor de subversion en 28 segundos
otro para instalar subversion con dav-svn
Administrando subversion
- Crear copias de seguridad
svnadmin dump /var/lib/svn/path_del_repositorio | gzip -9 > /var/backups/nombrerevision.gz
- Restaurar copias de seguridad
gunzip -c subversion_nombrerevision.gz | svnadmin load /var/lib/svn/path_del_repositorio
- Arreglar problemas en la base de datos
svnadmin recover /var/lib/svn/path_del_repositorio
Atención: si sigue sin funcionar, cambiar los permisos a www-data en /var/lib/svn/path_del_repositorio/db/__db.001 y siguientes:
chown www-data:www-data /var/lib/svn/url.dominio.com/db/__db.*