Control de Código Fuente

 

El control de código fuente es un tema importante durante el desarrollo de software, ya que nos permite primero que nada respaldar nuestro trabajo en un servidor central, y adicionalmente otros usuarios pueden trabajar sobre dichos archivos. En el caso de un daño grave de la computadora donde trabajamos no perderíamos algo tan valioso como el código que se hemos generado.

Existen algunos herramientas para control de código fuente, probablemente conozcan de Source Safe de Microsoft, que fue descontinuada luego de la versión 2005 para convertirse en Team Foundation. En todo caso esa herramienta está fuertemente ligada al trabajo con el IDE de Visual Studio. En un ambiente multidisciplinario por ejemplo donde se trabajan con mas de un IDE o algunas veces sin ninguno, talvez SourceSafe no cumpla con todos los requerimientos.

Otro punto importante sobre el control de código fuente es la actualización concurrente de archivos, en SourceSafe existe el mecanismo de:

Lock –> Update –> Unlock

Lo que significa que para poder cambiar un archivo, primero se aplica un bloqueo sobre el mismo en el lado del servidor, luego el usuario puede cambiar el archivo, y finalmente cuando lo sube al servidor, este es desbloquedo. Esto tiene la principal característica de que cuando un usuario A está trabajando sobre un archivo F, un usuario B no podrá cambiar ese archivo hasta que el usuario A lo desbloquee. Es decir la edición de archivos es secuencial, en lo personal pienso que este trae mas molestias que ventajas ya que se pierde tiempo esperando que otro usuario desbloquee el archivo para poder seguir trabajando.

Otros tipos de soluciones como SVN (Subversion) siguen un modelo:

Copy–> Update  -> Merge

En SVN cuando un usuario hace un “checkout” de un archivo, éste no queda bloqueado en el servidor, -de tal forma que otro usuario puede hacer lo mismo-, luego de realizar los cambios y querer subirlos al servidor SVN compara la copia local (working copy) con el contenido del servidor, si el contenido original no cambió mientras se modificaba el archivo, éste es copiado al servidor, caso contrario: si mientras estábamos editando el archivo, otro usuario alteró también el contenido, se realiza un proceso de MERGE (fusión) del contenido de ambas versiones, en el caso de que exista algún conflicto que SVN no pueda resolver, se le presenta al usuario las herramientas para comparar ambas versiones y solucionar los conflictos manualmente. Adicionalmente SVN lleva un número de revisón del proyecto, lo que nos permite conocer si tenemos o no la última versión del proyecto en nuestra carpeta local.

SVN es ampliamente usado a nivel mundial, gratuito y existen varios clientes para poder trabajar con este servidor, antes había usado esta herramienta, y actualmente estoy probando la versión oficial de SVN.

Mayor información:

Sitio oficial de SVN: http://subversion.tigris.org/

Una respuesta to “Control de Código Fuente”

  1. […] Blackout360 .Net Developer with an iMac « Control de Código Fuente […]

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: