miércoles, julio 15, 2009

Breves notas sobre svn (I)

Llevo algún tiempo buscando montar un pequeño sistema de control de versiones que me sirva para poder controlar los cambios que hago a algunos scripts y algún código que escribo. He decido pasar del clásico cvs y probar subversion. Subversión lo que nos ofrece es un sistema de ficheros virtuales, donde existe una versión de cada fichero y cada directorio modificado. De esto podemos recuperar una versión concreta de cualquier elemento.

En el caso de svn todo gira entorno a un repositorio. A este se puede acceder a través de diferentes métodos: sistema de ficheros locales, webdav (http y https) y el protocolo propio de svn, el cual puede,en un momento dado encapsularse sobre ssh.

Una cosa importante es como svn versiona los ficheros y directorios que están bajo su control con un número de revisión que afecta a todo el árbol que está bajo su control.

Pequeña chuleta de comandos svn

  • Crear un repositorio de subversion
    svnadmin create /path/repositorio
  • Importar un árbol de directorios dentro de un repositorio
    svn import /dir/proyecto file://path/repositorio/proyecto -m "Comentario"
  • Hacer un checkout de un proyecto
    svn checkout file:///path/repositorio/ proyecto
  • Obtener diferencia entre versiones
    svn diff
  • Diferencia entre la versiones
  • Añade los cambios realizados en nuestros ficheros locales al repositorio.
    svn commit
  • Actualiza nuestra copia local de ficheros con la última versión disponible en el repositorio.
    svn update
  • Muestra un histórico de los cambios del proyecto
    svn log
  • Borrar un fichero o un directorio del repositorio

  • svn delete directory
  • Acceso a repositorios
    • file:///, al repositorio se accede a través de ficheros locales.
    • http://, al repositorios se accede a través de webdav sobre http.
    • https://, al repositorio se accede a través de webdav sobre https.
    • svn://, al repositorio se accede a través del servicio implementado en svnserver.
    • svn+ssh://, al repositorio se accede a través del servicio implementado sobre svnserver pero tunelizado a través de ssh.

Referecias

Technorati Tags:

4 comentarios:

Unknown dijo...

Te recomiendo mercurial. Cuando empiezas a trabajar con varias ramas, y/o backports, etc, svn da más de un dolor de cabeza.

Drizzt dijo...
Este comentario ha sido eliminado por el autor.
Drizzt dijo...

Lo tendré en cuenta. De momento voy a probar el svn, a ver que tal de cómodo me va, y probaré también el mercurial. Muchas gracias :)

Anónimo dijo...

Prueba git y luego súbelos a github.com