F1 Help! La solución que buscabas

Desarrollo, programación, tips, consejos y soluciones para los usarios de PC

lunes, 26 de abril de 2010

Guia rapida SVN - Subversion

Subversion es lo que se llama un sistema de control de versiones centralizado (como CVS). Esto se usa con muchísima frecuencia en la industria del software. Su uso -tal como su nombre lo indica- es para ir controlando las distintas versiones del código fuente. Para explicarlo de manera sencilla digamos que hay un repositorio que tiene el código de una aplicación X y 3 miembros (A, B y C).

En una primera instancia los 3 miembros descargan el código fuente y “A” modifica un archivo y luego lo sube al servidor. Así, en el servidor tendremos lo que se llama una nueva revisión del proyecto. El miembro B “actualiza” y se le indica que hay un archivo que ha sido modificado y se descarga en su equipo. Le parece bien el cambio, pero le hace un arreglo y edita otro archivo y luego actualiza la versión del servidor. Un rato después el último miembro actualiza el proyecto y se encuentra con 2 nuevos archivos que han sido modificados.* Así cada miembro del proyecto puede acceder cada vez que va a trabajar a los cambios que han hecho los demás.*

Instalación
Si queremos llegar a alguna parte primero necesitamos descargar la herramienta. Como es habitual, podemos encontrarla en los repositorios con el nombre de subversion.

Sistema > Administración > Gestor de paquetes Synaptic
Buscamos subversion y lo instalamos

O lo instalamos de manera fácil:

sudo apt-get install subversion

Conceptos
Para utilizar las funciones básicas de Subversion tenemos que manejar algunos conceptos:
  • Repositorio: Lugar de la red donde se almacena el código fuente del proyecto.
  • Check-out (co): Descargar el código fuente desde el repositorio.
  • Check-in o commit (ci): Subir los archivos modificados al repositorio.
  • Update (up): Comparar el código de mi equipo con el del repositorio y descargar sólo las modificaciones.
Uso en Consola
Lo primero será descargarnos el código del proyecto con el siguiente comando (en la carpeta donde pensamos trabajar posteriormente):

$ svn checkout http://svn2.assembla.com/svn/nalga

Luego de la descarga subiremos nuestras modificaciones:

$ svn commit

Puede ser que se abra tu editor de texto (en mi caso Nano) para escribir un mensaje que acompañe la revisión y cuando salgas del editor tu archivo se enviará al repositorio.

Lo más probable que para poder subir archivos necesites tener una cuenta que te será entregada por el admin del servidor y este será el momento que te la soliciten (Nombre de Usuario y Contraseña).

Si acaso quieres agregar un mensaje y evitar que se abra el editor de texto puede agregar el modificador -m:

$ svn commit -m mensaje

En tu segundo día vas a seguir trabajando, pero antes debes comprobar si algún miembro hizo alguna modificación. Podrías descargar nuevamente todo el código, pero no tendría mucho sentido ya que seguramente no existirán cambios en todos los archivos; por esto Subversion cuenta con nuestra tercera función básica:

$ svn update

Como no nos gusta gastar nuestros dedos de más podemos utilizar abreviaciones para estas funciones: checkout (co), commit (ci) y update (up). Otras funciones útiles son:

log: Muestra los mensajes de las revisiones
diff (di): Muestra las diferencias entre la revisión seleccionada
help: La nunca bien ponderada ayuda (que por cierto, fue la que me enseño)