Català  

Subversion

De Guifi.net - Wiki Hispano

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.*

Actualizando subversion

Ver también

Referencias

Herramientas personales