User Tools

Site Tools


informatica:linux:subversion

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
informatica:linux:subversion [2010/12/23 16:43] 127.0.0.1informatica:linux:subversion [2015/01/22 11:58] – [Subversion y apache] javi
Line 109: Line 109:
  
 ===== Subversion y apache ===== ===== Subversion y apache =====
 +
 +==== Apache >=2.4.x y subversion >=1.8.x ====
 +
 +http://svnbook.red-bean.com/en/1.8/svn.serverconfig.httpd.html
 +
 +1. Instalar paquetes
 +
 +  sudo aptitude update; sudo aptitude install apache2 subversion libapache2-svn
 +
 +2. Habilitar módulo de apache:
 +
 +<code>
 +sudo a2enmod dav
 +sudo a2enmod dav_lock
 +sudo a2enmod dav_fs
 +</code>
 +
 +3. Reiniciar apache
 +
 +  sudo service apache2 restart
 +
 +4. Crear una config de apache:
 +
 +  sudo vim /etc/apache2/conf-available/svn.conf
 +  
 +Con el siguiente contenido:
 +
 +<code>
 +<Location /svn>
 +  DAV svn
 +  # Automatically map any "/svn/foo" URL to repository /var/svn/foo
 +  SVNParentPath /var/svn
 +</Location>
 +</code>
 +
 +5. Ajustar permisos:
 +
 +  sudo chown -R www-data:root /var/svn
 +  
 +6. Cargar config de apache:
 +
 +  sudo a2enconf svn
 +  sudo service apache2 reload
 +  
 +7. Probar:
 +
 +http://svn.example.com/svn/project_1
 +
 +Deberia ir a:
 +
 +  /var/svn/project_1
 +
 +  
 +
 +
 +==== Apache <=2.2.x y subversion <=1.7.x ====
 +
  
 http://svnbook.red-bean.com/en/1.4/svn.serverconfig.httpd.html http://svnbook.red-bean.com/en/1.4/svn.serverconfig.httpd.html
Line 178: Line 235:
  
   svn checkout http://localhost/repositorio_varios_proyectos/proyecto_1   svn checkout http://localhost/repositorio_varios_proyectos/proyecto_1
 +
 +
  
  
Line 200: Line 259:
 (Si no existe un fichero de contraseñas de apache) (Si no existe un fichero de contraseñas de apache)
  
-  htpassd -c /ruta/fichero/contrasenyas mi_usuario+  sudo htpasswd -c /ruta/fichero/contrasenyas mi_usuario
  
 (Si ya existe) (Si ya existe)
  
-  htpassd  /ruta/fichero/contrasenyas mi_usuario+  sudo htpasswd /ruta/fichero/contrasenyas mi_usuario
  
 2. Teclear 2 veces la contraseña 2. Teclear 2 veces la contraseña
Line 242: Line 301:
 (Si no existe un fichero de contraseñas de apache) (Si no existe un fichero de contraseñas de apache)
  
-  htpassd -c /ruta/fichero/contrasenyas usuario_1 +  sudo htpasswd -c /ruta/fichero/contrasenyas usuario_1 
-  htpassd -c /ruta/fichero/contrasenyas usuario_2+  sudo htpasswd /ruta/fichero/contrasenyas usuario_2
  
 (Si ya existe) (Si ya existe)
  
-  htpassd  /ruta/fichero/contrasenyas usuario_1 +  sudo htpasswd /ruta/fichero/contrasenyas usuario_1 
-  htpassd  /ruta/fichero/contrasenyas usuario_2+  sudo htpasswd /ruta/fichero/contrasenyas usuario_2 
 2. Editar: 2. Editar:
  
-  nano /etc/apache2/httpd.conf+  sudo vim /etc/apache2/httpd.conf
      
 Y dejarlo tal que así: Y dejarlo tal que así:
Line 278: Line 338:
 4. Crear el archivo de reglas: 4. Crear el archivo de reglas:
  
-  nano /ruta/fichero/reglas_subversion+  sudo vim /ruta/fichero/reglas_subversion
  
 Con el siguiente contenido: Con el siguiente contenido:
Line 419: Line 479:
  
   svnserve -d --config-file=/etc/subversion/conf/svnserve.conf -r /mnt/disco_1/datos/repositorio_varios_proyectos&   svnserve -d --config-file=/etc/subversion/conf/svnserve.conf -r /mnt/disco_1/datos/repositorio_varios_proyectos&
 +
  
 ===== Acceder a repositorio vía svn+ssh ===== ===== Acceder a repositorio vía svn+ssh =====
Line 424: Line 485:
 No requiere tener levantado svnserve. Basta con: No requiere tener levantado svnserve. Basta con:
  
-  svn co --no-auth-cache --username mi_usuario svn+ssh://ip_servidor_subversion/var/subversion/proyecto_1/trunk+  svn co --no-auth-cache svn+ssh://usuario@ip_servidor_subversion/var/subversion/proyecto_1/trunk
  
 Donde '/var/subversion' es la ruta completa al repositorio de subversion. Pedirá usuario y contraseña de una cuenta de usuario de la máquina donde esté ubicado el repositorio de subversion  Donde '/var/subversion' es la ruta completa al repositorio de subversion. Pedirá usuario y contraseña de una cuenta de usuario de la máquina donde esté ubicado el repositorio de subversion 
Line 725: Line 786:
  
   svn update http://repositorio_subversion/proyecto/mi_archivo.c   svn update http://repositorio_subversion/proyecto/mi_archivo.c
 +
  
 ===== Listar revisiones ====== ===== Listar revisiones ======
Line 736: Line 798:
   svn log   svn log
  
 +
 +
 +===== Comprobar si existen versiones nuevas en el repositorio ======
 +
 +<code>
 +svn st -u --no-auth-cache --username=USER
 +Authentication realm: <http://URL_REPOSITORY> xxx Repository
 +Password for 'USER': 
 +        *   225051   generic-ci/generic-service-check.sh
 +        *   225051   generic-ci/generic-service-remove.sh
 +        *            file2.sh
 +        *   225051   .
 +Status against revision: 234242
 +</code>
 +
 +*   225051 -> existe una nueva version en el servidor
 +
 +===== Merge inverso o revertir a una revision concreta ======
 +
 +  * *PROBLEMA* queremos eliminar las ultimas x revisiones de un proyecto
 +
 +1. Listar las revisiones
 +
 +
 +<code>
 +cd /ruta/copia/local
 +
 +svn log
 +
 +------------------------------------------------------------------------
 +r1132 | root | 2012-06-18 15:45:06 +0200 (Mon, 18 Jun 2012) | 1 line
 +
 +back without symlinks
 +------------------------------------------------------------------------
 +r1131 | usuario | 2012-06-18 15:07:16 +0200 (Mon, 18 Jun 2012) | 1 line
 +
 +puppet symlinks sudo
 +------------------------------------------------------------------------
 +r1130 | usuario | 2012-06-18 15:05:41 +0200 (Mon, 18 Jun 2012) | 1 line
 +
 +puppet symlinks ssh
 +------------------------------------------------------------------------
 +r1129 | usuario | 2012-06-18 15:04:50 +0200 (Mon, 18 Jun 2012) | 1 line
 +
 +puppet symlinks module puppet cont and snmp
 +------------------------------------------------------------------------
 +r1128 | usuario | 2012-06-18 15:03:26 +0200 (Mon, 18 Jun 2012) | 1 line
 +
 +puppet symlinks module puppet
 +------------------------------------------------------------------------
 +r1127 | usuario | 2012-06-18 14:58:34 +0200 (Mon, 18 Jun 2012) | 1 line
 +
 +puppet symlinks module ntp
 +------------------------------------------------------------------------
 +r1126 | usuario | 2012-06-18 14:52:25 +0200 (Mon, 18 Jun 2012) | 1 line
 +
 +puppet symlinks module nfs
 +------------------------------------------------------------------------
 +r1125 | usuario | 2012-06-18 14:46:01 +0200 (Mon, 18 Jun 2012) | 1 line
 +
 +puppet symlinks module apt
 +------------------------------------------------------------------------
 +r1124 | usuario | 2012-06-18 14:42:23 +0200 (Mon, 18 Jun 2012) | 1 line
 +
 +puppet symlinks test 3
 +------------------------------------------------------------------------
 +r1123 | usuario | 2012-06-18 14:40:23 +0200 (Mon, 18 Jun 2012) | 1 line
 +
 +puppet symlinks test 2
 +------------------------------------------------------------------------
 +r1122 | usuario | 2012-06-18 14:38:53 +0200 (Mon, 18 Jun 2012) | 1 line
 +
 +test symlinks puppet
 +------------------------------------------------------------------------
 +r1121 | root | 2012-06-18 14:25:24 +0200 (Mon, 18 Jun 2012) | 1 line
 +
 +Initial feed
 +------------------------------------------------------------------------
 +</code>
 +
 +2. Queremos volver a la version inicial (r1121):
 +
 +  sudo svn merge -r1132:1120 .
 +
 +3. Hacemos el commit:
 +
 +  svn commit -m 'revert to r1120'
 +
 +===== Copiar directorio evitando .svn ======
 +
 +  sudo rsync -r --exclude=.svn /ruta/origen /ruta/destino
  
informatica/linux/subversion.txt · Last modified: 2015/04/13 20:19 by 127.0.0.1