Curso Acelerado De Subversion (Primera Parte)

tenes que aprender subversion. por lo pronto tenes que instalarlo en tu mac, lo cual es facilisimo ya que hay un instalador que lo hace por vos, y que tenes que bajarte de aca:

http://www.codingmonkeys.de/mbo/Subversion-1.4.2.pkg.zip (por las dudas las ultimas versiones estan siempre disponibles en http://www.codingmonkeys.de/mbo/)

es un zip que contiene un pkg de instalacion; tenes que tener tiger, o panther 10.3.9 como minimo para que ande. cuando lo instales no veras ninguna diferencia en tu compu, ya que se instala en /usr/local/bin/svn. (/usr es un folder escondido en el disco, que es parte de todos los unix).

subversion es un sistema cliente-servidor de control de versiones; no es el primero, pero si es uno de los ultimos y mejores. por “control de versiones” quiero decir que subversion mantiene en una base de datos todas las versiones de cada archivo de cada proyecto y te permite ver que cambios hubo entre la version 2 y la 3. no hay software que se haga seriamente hoy dia sin algo asi. por “cliente-servidor” quiere decir que el software tiene una arquitectura simple, donde un cliente muy ligero se conecta a un servidor, que es donde estan los datos guardados. por “servidor” no implico una computadora separada, ya que en realidad el servidor es un daemon andando en una compu (daemon = programa sin interfaz grafica, llamado “servicio” en windows, o mas generalmente proceso). pero tambien puede ser otra computadora, y subversion habla muchos protocolos de red, algunos securisimos como ssh y otros mas especificos como svn, pasando por http y acceso directo al sistema de archivos, si fuese menester, para leer los datos del repositorio.

porque ese es el nombre que se le da a una base de datos de versiones: repository, o repositorio. en muchos tutoriales veras que dicen “ponga su base de datos en C:\repos y ‘repos’ viene a ser eso, repositorios.

hay muchos productos que hacen esto del control de versiones: IBM tiene Rational ClearCase (lo use en alguna empresa en la que trabaje antes), Microchot tiene Visual SourceSafe (de lejos el peor de todos, tambien lo sufri) y ahora Team System (que no he usado ni usare, sale 20 lucas la licencia, estan de la gorra). Tambien esta SourceGear Vault, CVS (que es open source y reconocidisimo mundialmente) y tantisimos mas.

pero subversion es el mas nuevito (version 1.0 del 2004) y esta inspirado en CVS (Concurrent Version System). para usar subversion comodamente hay que estar comodo con la linea de comando, ya que subversion (svn para los amigos) es, en el mejor espiritu unix, un utilitario de linea de comando (primariamente). ahora hay muchos programas que permiten manejar svn visualmente, y gratis, asi que tranqui que una vez que tengas la parte teorica del asunto, usar la consola grafica te sera mas facil. subversion anda en cuanta plataforma se te cruce; obviamente tambien ubuntu, mac (desde la version jaguar 10.2 que tengo en la ibook), windows (desde la version 98 SE, creo), tanto para servidor como para cliente.

por ahora hace esto:

  1. tipea “where is svn” (asi nomas) y te dira donde esta; ojo! yo uso “/bin/tcsh” como aplicacion de terminal, y no “/bin/bash”, en las preferencias de terminal.app:
  2. luego anda a tu home (cd ~) y edita el archivo de preferencias de tcsh (vim .tcshrc) y por ahi agrega estas lineas:
alias svn "/usr/local/bin/svn" (con las comillas)
alias svnadmin "/usr/local/bin/svnadmin"
alias svnserve "/usr/local/bin/svnserve"
  1. cerra el archivo (esc y luego :x como te explique)
  2. cerra la ventana de terminal y abri una nueva. ahora si, si haces “svn” te tiene que decir el texto Type ‘svn help’ for usage.”.
  3. lo de bash y tcsh tiene que ver ya que el comando “alias” es propio de tcsh, no se cual usas vos.

una vez que hagas todo esto, avisame que seguimos con el tutorial mas tarde. te mostrare como crear un repositorio en tu compu, en local, como yo uso varios ya, meter codigo fuente ahi adentro, y despues volver a sacarlo, pero esta vez versionado y todo.

he aqui la version en español del libro de o’reilly sobre subversion que es la referencia absoluta: http://svnbook.red-bean.com/index.es.html

en la proxima te cuento como usar subversion.