SVN Subversion Server

*El libro de SVN y troubleshooting: http://svnbook.red-bean.com/en/1.1/index.html

cosas basicas para usuarios / desarrolladores

* Para obtener el codigo por primera vez
# svn checkout svn://media.dadaserver.com/name_of_project

* Para actualizar nuestra copia local (si es que han habido cambios - commits - en el repositorio)
# svn update svn://media.dadaserver.com/name_of_project
(lo ideal es estar dentro del directorio donde tenemos la copia local)


* Si creamos o copiamos archivos a nuestra copia local, y queremos que se incluya en nuestro proximo commit: # svn add NOMBRE_ARCHIVO

* Para subir/publicar los cambios locales al repositorio # svn commit

ejemplos

checkout del server

# svn checkout svn://xicnet.com/isp_ger/

otros comandos

si tenemos una copia local, se pueden usar los comandos svn:

# svn commit -m "blabla"

-m "blabla" deberia ser el changelog "\n" son saltos de linea

interfaz web (no activada todavia)

Para navegar el codigo de los proyectos actuales, se puede usar la interfaz websvn: http://xicnet.com/websvn/ (mejor usar el trac creo)

To Do

mas documentacion y setup de usuarios...

tutorial de administracion svn

Lo que viene a continuacion es para administradores y no necesariamente disponible para desarrolladores.

paths & files

/var/local/svn/conf/pass.dat # base de datos global de usuarios

/var/local/svn/conf/svnserve.conf # configuracion global del svnserve (symlink a /usr/local/svnrepos/PROYECTO/conf/svnserve.conf

/usr/local/svnrepos/ # raiz del repositorio svn global

/usr/local/svnrepos/(.*)/conf/svnserve.conf #conf in repos

agregar usuario

# vi /var/local/svn/conf/pass.dat

user = password

iniciar el svnserve

# <i>su - svn</i>
# svnserve -d -r /var/lib/svn/

crear un repositorio

# svnadmin create --fs-type fsfs /var/local/svnrepos/NOMBRE_PROYECTO

config file

nota: cada proyecto tiene su propio archivo de configuracion.

Hacemos un symlink al archivo de configuracion global del SVN para tener una config global, pero se puede tener una por cada proyecto, claro:

# ln -s /var/local/svn/conf/svnserve.conf /usr/local/svnrepos/NOMBRE_PROYECTO/conf/svnserve.conf

Import inicial

# svn import --no-auth-cache --username alguien --password pass123 /tmp/algun_proyecto/ svn://xicnet.com/algun_proyecto -m "Import inicial del proyecto bla bla"

No olvidarse de hacer checkout antes de seguir tocando el proyecto.
El codigo original no va a estar SVNcionado.