martes, enero 16, 2007

VISUAL SOURCE SAFE????

En este documento, quiero mostrarles la un administrador de código fuente que es mejor que visual source safe...

Cuando trabajamos con VSS pasamos por problemas como: Se me perdio lo que hice, hice check in y dañe lo que tenia en el servidor, necesito hacer unos cambios en una clase pero el otro compañero la tiene bloqueda, entonces me toda decirle "soltala!!!".. etc..

este versionador que quiero presentar a parte de tener su propia interface desde el explorador de windows, ser gratis y permitirme trabajar de forma remota.... es mucho mejor... pues sus ventajas con VSS son considerables... una que se me viene en el momento a la cabeza es la forma de hacer un "merge".. pues varios usuarios pueden modificar la misma clase y luego se hace una unión de lo que cada uno hizo...

Me refiero al administrador de código fuente SubVersion... CVS es una version mas antigua...

Primero debemos pensar en el repositorio

Un repositorio es una aplicación que ayuda en este caso a los programadores a centralizar y coordinar sus archivos, puede servir para almacenar no solo código fuente, también se puede llevar el control a todo tipo de archivos (imágenes, documentos de oficina, ejecutables, etc) ..

Del manual oficial de subversion tenemos:" Lo que hace especial al repositorio de Subversion es que recuerda cada cambio jamás escrito en el: cada cambio a cada archivo, e inclusive cambios al árbol de directorios mismo, tales como la adición, borrado y reubicación de archivos y directorios….… permite recuperar versiones antiguas de sus datos, o examinar la historia de cómo han cambiado (sus datos). En este aspecto, mucha gente piensa en los sistemas de versiones como en un tipo de "máquina del tiempo".

Veamos un ejemplo practico..

Llego la acción, configurando el servidor he iniciando el repositorio
Subversion funciona en cualquier sistema operativo donde corra el servidor web Apache: BSD, Linux, Mac OS X, Netware, Windows, etc.

Entonces tenemos este escenario,:
Pepito & Maria -> Desarrolladores principales
Administradores Amigos de Pepito y Maria -> Otros Desarrolladores
Gonzalito -> Usuario

Pepito tiene conexión a Internet permanente en un servidor con Debian Sarge, con apache2 recién instalado, para instalar el servidor subversion sencillamente hay que ejecutar el comando:

#apt-get install subversion subversion-tools libapache2-svn

Pepito dice: "Joder, apt-get es una maravilla, lo instalo todo de una, y resolvió dependencias automáticamente!!!", para usuarios de otras distribuciones o sistemas operativos que no tengan la suerte de Pepito, pueden buscar como configurarlo en su sistema operativo, o si lo prefieren pueden bajarse el código fuente y compilarlo.

Una vez instalado, vamos a crear una carpeta para almacenar nuestro repositorio:

# mkdir -p /var/local/repos

Ahora creamos la base de datos del repositorio (mas información abajo):

# svnadmin create /var/local/repos

Ahora permitimos al servidor web escribir en el repositorio

# chown -R www-data:www-data /var/local/repos

nota: "www-data "es generalmente el usuario en que corre el servidor web en Debian, en otras distribuciones puede variar, por ejemplo en fedora el usuario es "apache".

Ahora vamos a configurar Apache para permitir el acceso al repositorio via http (web). en el archivo /etc/apache2/httpd.conf añadimos:


DAV svn
SVNPath /var/local/repos
AuthType Basic
AuthName "Repositorio Subversion en labs.tecsua.com"
AuthUserFile /etc/subversion/passwd
Require valid-user


Ahora creamos el archivo de autenticación, en este archivo se guardaran todos los usuarios:

#htpasswd2 -c /etc/subversion/passwd pepito

Nótese que el comando "htpasswd2" tiene la bandera "-c", por lo que es la primera vez que se ejecuta el comando la bandera "-c" crea el archivo en caso de que no exista, pero si ya existe lo sobreescribe, para añadir nuevos usuarios, ya no tenemos que especificar la bandera "-c"… entonces el comando para añadir el usuario Maria es:

#htpasswd2 /etc/subversion/passwd maria

Por ultimo, reinicie Apache2 con el comando (para Debian):

#/etc/init.d/apache2 restart

Listo!!!, ahora Pepito y Maria podrán acceder al nuevo repositorio de subversionhttp:///repos por ejemplo http://192.168.0.1/repos Vía web podremos ver la Revision 0: /, es un buen momento para festejar e ir por una cerveza para continuar el trabajo

Articulo tomado de
http://josecely.tecsua.com/?p=12
© José Antonio Cely Saidiza - 2005 jose.cely@tecsua.com

No hay comentarios.: