miércoles, 26 de agosto de 2009

Usando e instalando subversion en Debian

Apuntes acerca de la utilización e instalación de Subversion accediendo por svn:// y con muy poca protección :(
(luego, luego completare como asegurarlo...):

(Esquema incompleto...)

* Para Instalar subversion en debian:

# apt-get install subversion

* Crear script de arranque automatico:

# cd /etc/initd./
# vim subversion

y agregar esta línea (por supuesto modificada de acuerdo a ubicacion de tu repo en tu sistema de archivo) el parámetro -d es para que se ejecute como daemon y el -r para indicar el path del repositorio man svnserve:

svnserve -d -r /home/calabaza/repo-svn/

* Le damos opcion de ejecucion:

# chmod +x subversion

* Agregamos el script a los inits...

# update-rc.d subversion defaults

* Para crear un repositorio:

* Tip: si va a ser fijo para toda la vida mejor hacerlo en /usr/local/repo-svn o algo así

$ svnadmin create ~/repo-svn/tesoreria/

* Configurando un repo inicial:


Editar el fichero (~/repo-svn/tesoreria/conf/svnserve.conf) y cambiamos las siguientes líneas:
anon-access = none
auth-access = write
password-db = passwd

$ vim ~/repo-svn/tesoreria/conf/svnserve.conf

* Configurando el acceso a traves del firewall



# iptables -A INPUT -p tcp --dport 3690 -j ACCEPT
# iptables -A INPUT -p udp --dport 3690 -j ACCEPT

* Configurar el fichero de claves (~/repo-svn/tesoreria/conf/passwd) y añadimos un nuevo usuario:
$ vim ~/repo-svn/tesoreria/conf/passwd

[users]
calabaza = calabaza

* Crear una estructura básica sugerida por subversion:
$ cd /tmp/

$ mkdir stru-inicial
$ cd stru-inicial

$ mkdir trunk
$ mkdir branches
$ mkdir tags

* Para hacer el import inicial:

$ svn import . svn://localhost/tesoreria -m "Estructura Inicial"

$ cd ~/tesoreria/

$ svn import . svn://localhost/tesoreria/trunk -m "Codigo Fuente Inicial"


* Para crear una copia de trabajo en ESTA carpeta (Checkout inicial):

* (y que no me cree la carpeta trunk)
$ svn checkout svn://localhost/tesoreria/trunk/ .

* Convertir un directorio local en una copia de trabajo versionada:

* Lo que va a hacer es convertir el directorio en versionado
* y los archivos que sean diferentes van a quedar como cambios de la copia local
* el --force hace que no se genere un error al encontrar un archivo identico

$ svn checkout --force svn://localhost/tesoreria/trunk .
$ svn status

* Resolviendo conflictos:


* Haciendo unas etiquetas (TAGS):

$ svn copy svn://localhost/tesoreria/trunk svn://localhost/tesoreria/tags/estable-1.0 -m "Etiquetando la version 1.0 del proyecto tesoreria"

* Creando una rama de desarrollo:


* Para volcar completamente un repositorio (dump):

$ svnadmin dump ~/repo-svn/tesoreria/ > tesoreria-r73.svndump

* Para restaurar un repo dumpeado:

# svnadmin load /usr/local/repo-svn/tesoreria/ < tesoreria-r73.svndump

* Para ver a donde apunta esta copia local de trabajo:

$ svn info | grep URL

* Para reubicar la direccion del server de una wc:

$ svn switch --relocate svn://localhost/tesoreria/trunk svn://192.168.1.3/tesoreria/trunk

* Para exportar una copia de trabajo:

No hay comentarios:

Publicar un comentario