Hola.
Subversion (SVN) es un sistema de control de versiones que a los programadores nos hace el desarrollo de una aplicación un poco más sencillo ya que cuentas con un respaldo de tu proyecto, tienes versiones de tu proyecto, ya no hay pretextos para el trabajo en equipo.
Este post sirve de recordatorio rápido sobre lo básico de SVN, hasta abajo dejo los enlaces en los que me basé por si alguien quiere profundizar en el tema.
Primero vamos a instalar SVN en nuestro servidor con Debian Squeeze:
# apt-get install subversionahora creamos el repositorio:
$ mkdir /home/USUARIO/repositorio $ svnadmin create /home/USUARIO/repositorio/asignamos permisos al repositorio:
# addgroup desarrollo # adduser USUARIO desarrollo # chown -R www-data:desarrollo /home/USUARIO/repositorio/* # chmod -R g+w /home/USUARIO/repositorio/*preparamos la carpeta del proyecto para nuestro primer import:
$ mkdir /home/USUARIO/proyecto $ mkdir /home/USUARIO/proyecto/branches $ mkdir /home/USUARIO/proyecto/tags $ mkdir /home/USUARIO/proyecto/trunkcreamos Hola Mundo SVN:
$ nano /home/USUARIO/proyecto/trunk/HolaMundoSVN.javale ponemos cualquier cosa y guardamos:
public class HolaMundoSVN{ public static void main(String ... args){ System.out.println("Hola mundo de SVN"); } }hacemos nuestro primer import:
svn import /home/USUARIO/proyecto/ file://localhost/home/USUARIO/repositorio -m "Mi primer import"y debemos ver algo como esto:
Añadiendo /home/USUARIO/proyecto/trunk Añadiendo /home/USUARIO/proyecto/trunk/HolaMundoSVN.java Añadiendo /home/USUARIO/proyecto/branches Añadiendo /home/USUARIO/proyecto/tags Commit de la revisión 1.Hasta aquí todo se hizo en el servidor, ahora vamos a realizar un checkout en nuestra máquina local, osea bajarnos el proyecto:
$ mkdir /home/USUARIO_LOCAL/CopiaProyecto $ svn co svn+ssh://USUARIO@DOMINIO.ALGO/home/USUARIO/repositorio/ /home/USUARIO_LOCAL/CopiaProyecto/introducimos el password y el servidor debería responder algo como esto:
A /home/USUARIO_LOCAL/CopiaProyecto/trunk A /home/USUARIO_LOCAL/CopiaProyecto/trunk/HolaMundoSVN.java A /home/USUARIO_LOCAL/CopiaProyecto/branches A /home/USUARIO_LOCAL/CopiaProyecto/tags Revisión obtenida: 1Hace falta realizar la operación de commit (comprometer cambios, subir cambios hechos de manera local al servidor):
$ svn commit -m "Comentario sobre lo añadido/modificado"Si llegamos a tener un problema como este:
Enviando trunk/HolaMundoSVN.java Transmitiendo contenido de archivos .svn: Falló el commit (detalles a continuación): svn: attempt to write a readonly database svn: attempt to write a readonly databaseejecutamos lo siguiente en el servidor:
# chown www-data:desarrollo repositorio/db/rep-cache.dbY por último vamos a hacer un update (actualizar nuestra copia local, bajarnos los cambios del servidor):
$ svn updateHasta aquí lo básico, para otro post dejamos conectarnos desde el netbeans, montar una interfaz web para svn, https.
Enlaces relacionados:
Buenas Prácticas de Gestión de Versiones con Subversion
Crear un repositorio Subversion
Instalando un repositorio de Subversion
0 comentarios:
Publicar un comentario