Usando el sistema de versiones svn desde la shell

Antes de ayer escribí sobre como instalar el servidor de versiones-> Instalar y configurar un servidor de versiones en la rapi

Y con este post voy a hacer un resumen de lo que es casi indispensable para usarlo desde la shell:

Como ya dijimos crear un proyecto en el servidor podemos hacerlo así:

sudo svnadmin create /home/pi/repositorio/NuevoProyecto

Como es la primera vez que me voy a conectar el repositorio hago un checkout, esto es, me descargo el proyecto entero:

svn co --username foo http://192.168.23.18/svn/NuevoProyecto /home/foo/src/NuevoProyecto

Comprobar que todo ha ido bien, esto checkea los cambios que hemos hecho respecto al respositorio:

svn co --username foo http://192.168.23.18/svn/NuevoProyecto

Pero como ya hemos visto, tenemos configurados unos usuarios, foo y bar que van a usar el svn, así que a partir del momento que tenemos a los usuarios configurados estos pueden crear nuevos directorios/ramas y hacer updates y commits por si mismos de esta forma:

mkdir NuevoProyecto/imagenes
cd NuevoProyecto/imagenes
svn mkdir http://192.168.23.18/svn/NuevoProyecto/imagenes -m 'Creado nuevo directorio'

800px-Subversion_project_visualization Hacer la primera subida tras agregar archivos, directorios, etc:

svn commit --message "Commit Inicial" 

Actualizar a la última versión del repositorio:

svn update

Podemos ignorar archivos, como los compilados .pyc de python al subir añadiendo ignores asi:

svn propset svn:ignore "*.jpg" . 

O bien podemos crear un archivo con una linea por ignore y setear dicha opción en nuestro repositorio local por ejemplo así:

printf "*.pyc\n*.txt\nsystem.log\n" > ignoring.txt
svn propset svn:ignore -F ignoring.txt .

Esto ignoraría los archivos system.log y todos los archivos .pyc y .txt a la hora de hacer commit evitando llenar el repositorio remoto de archivos innecesarios allí.

Happy team coding!

Compartir

4 Comentarios

  1. Muy bueno foo. Yo utilizo para algunas cosillas un server subversion y me gustaría añadir que aparte de la shell si a alguien le mola hacerlo de forma gráfica se puede instalar rabbitcvs http://rabbitvcs.org/ que es crema pastelera.
    Un saludo.

    1. +1 Yo tambien utilizo rabbitvcs y es impresionante, da algunos problemas con gnome3 por el nautilus pero se pueden solventar.
      Gracias foo es buena cosa conocer la version en linea de comandos.

Deja una respuesta

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax