lunes, 19 de marzo de 2012

SVN Sistema de subversiones


Subversión es un sistema de control de versiones que permite manejar proyectos de programación con varios programadores de una manera fácil y sencilla, permitiendo que cada uno trabaje al mismo tiempo en un código, pero que no se pisen los talones, sino que todos pueden trabajar armónicamente en un mismo proyecto. Muy útil cuando hay varios programadores que no están cerca, sino que se encuentran alejados geográficamente.

Lo que hace este sistema es indexar todos los archivos de un proyecto y ponerle una versión. Cuando cualquiera haga cambios, y haga un commit (suba los cambios al servidor), el sistema agregara una nueva versión al sistema, le colocara ese numero de versión al archivo y guardara un mensaje de modificación al svn. Después de esto los cambios echos en el archivo estarán disponibles para todo el mundo.

Si nosotros estamos trabajando con un versión local de un archivo y otra persona sube cambios en ese mismo archivo, a la hora de hacer un commit nosotros nos dará error, porque nos va a decir que nuestra version y la que estan en el servidor son diferentes, para acomodarlo tenemos que resolver los conflictos existentes para poder subir nuestro archivo, con lo cual es sistema se asegura que en ningun momento se vayan a eliminar los cambios echos por la otra persona.

Clientes SVN:

Hay muchos clientes svn, pero estos son lo que yo uso, dependiendo si estoy en linux o windows:

  • Windows http://tortoisesvn.net/ 
  • En linux, en la consola de comandos hay un comando llamado svn, que nos permite manejar todo pero desde consola.


Comandos básicos del SVN

SVN:checkout

Este comando obtiene los archivos que están en el servidor y crea una copia local. Listo para empezar a usarlo. 

SVN:update

Este comando actualiza una copia local a la ultima que este en el servidor. Y nos avisa cuando hay diferencias entre nuestra copia local y la versión del servidor.

SVN:add  

Con este comando, agregamos un archivo o una carpeta al sistema de versiones, este no se enviara hasta que hagamos commit.

SVN:delete 

Elimina un archivo del sistema de versiones, hasta que no se haga commit los cambios no afectaran el servidor.


SVN:commit

Este comando sube las modificaciones que hayamos echo en los archivos locales, al servidor. Cuando usemos este comando, nos va a permitir dejar un mensaje de información de que cambios hemos echo en esta version que estamos subiendo.


SVN:log

Con este comando obtenemos un log de los mensajes dejados en cada una de las modificaciones de las versiones. y si especificamos un archivo nos dará los log de los cambios de ese archivo en especifico. Muy útil para tener una idea de que se va haciendo.


Aparte hay muchos otros comando mas como reverse, merge o diff, pero la idea de este articulo es simplemente dar una pequeña introducción, si desean leer un poco màs sobre el tema pueden consultar aquí, que hay una guía completa de como se usa el svn, muy util en español: http://svnbook.spears.at/nightly/es/

Si ustedes quieren empezar a usar esto, por probar y de manera gratuita, pues les recomiendo esta pagina: http://xp-dev.com/, es un servidor de svn, que tiene un aparte gratuita, yo lo uso bastante.

No hay comentarios:

Publicar un comentario