javoaxian cambió a: javoaxian.me
Este blog se mantendrá como histórico del nuevo javoaxian.me. Por tal motivo, sólo serán creados post que harán referencia a los del nuevo blog. Si hay dudas y comentarios, favor de hacerlos en javoaxian.me.
Mostrando entradas con la etiqueta Subversion. Mostrar todas las entradas
Mostrando entradas con la etiqueta Subversion. Mostrar todas las entradas

jueves, 11 de septiembre de 2008

Hacer un respaldo de un repositorio en Subversion (SVN) en GNU/Linux

El día de hoy voy a explicar como realizar el respaldo de un repositorio en Subversion, esto es importante hacerlo periódicamente para que no tengamos una versión reciente en nuestros respaldos de todo lo que contiene el repositorio.

La manera que vamos a hacer nuestro respaldo permitirá respaldar completamente todas las revisiones que tiene nuestro repositorio, y no únicamente la última.

Para hacer el respaldo, usaremos el comando svnadmin de la siguiente manera:

javoaxian@darthmaul:~$ svnadmin dump /home/javoaxian/repositorioSVN | gzip -9 > respaldo_repositorio_2008-09-08.gz

En el ejemplo anterior, le estoy indicando al comando svnadmin que hará un respaldo con la opción dump del repositorio que se encuentra en /home/javoaxian/repositorioSVN, además la salida de ese comando la estamos entubando para que lo comprima en formato zip con el comando gzip y la salida la estamos redirigiendo a un archivo llamado respaldo_repositorio_2008-09-08.gz el cual será el respaldo que contenga toda la información de nuestro repositorio.

Eso es todo por el momento.

jueves, 28 de agosto de 2008

RapidSVN: Cliente gráfico para repositorios SVN en GNU/Linux

RapidSVN es un cliente gráfico que nos permite manipular nuestros repositorios de Subversion. Esta puede ser una muy buena alternativa para usar en lugar del ya conocido TortoiseSVN para Windows.

Si desean probarlo en Debian o Ubuntu es muy fácil, bastará con instalar el paquete rapidsvn desde sus repositorios. Cabe mencionar que para Ubuntu deberán tener agregados los repositorios universe, en este post menciono cómo activarlos.

Para instalarlo, nos convertiremos en root:

javoaxian@darthmaul:~$ su -

Ahora ejecutamos el siguiente comando:

root@darthmaul:~$ apt-get install rapidsvn

Listo, ha quedado instalado RapidSVN. Para usarlo, bastará con ejecutar el comando rapidsvn:

javoaxian@darthmaul:~$ rapidsvn

o podemos seleccionarlo del menú de Gnome desde: Aplicaciones -> Programación RapidSVN.

viernes, 20 de junio de 2008

Instalar Subversion (SVN) desde su código fuentes con Apache2 en Debian y Ubuntu

En un post anterior ya había explicado como instalar Subversion desde los repositorios de Debian y Ubuntu, pero el día de hoy voy ha explicar como podemos instalar este software atravéz de su código fuente y además habilitaremos Apache para que se puedan consultar nuestros repositorios desde la Web.

Primeramente nos convertiremos en el usuario root.

javoaxian@darthmaul:~$ su -

Instalaremos los paquetes: zlib1g, zlib1g-dev, openssl, libssl-dev, libxml2, libxml2-dev, libexpat1 y libexpat1-dev.

root@darthmaul:~# apt-get install zlib1g zlib1g-dev openssl libssl-dev libxml2 libxml2-dev libexpat1 libexpat1-dev

Ahora deberemos tener instalado nuestro servidor Apache desde su código fuente. Aquí dejo este artículo de cómo instalarlo, nada más deberemos agregar las siguientes opciones en el comando ./configure para que la línea del comando quede de la siguiente manera:

./configure --prefix=/usr/local/apache --enable-so --enable-mods-shared="most ssl dav"

Ya que contamos con nuestro servidor web instalado, vamos a crearle un certificado de prueba. Supondré que siguieron el artículo que mencioné anteriormente (con la modificación del comando ./configure) e instalaron apache en /usr/local/apache.

root@darthmaul:~# cd /usr/local/apache/conf/
root@darthmaul:~# mkdir ssl.crt
root@darthmaul:~# mkdir ssl.key

Ahora generaremos el certificado:

root@darthmaul:~# openssl req -new -x509 -days 365 -keyout ./ssl.key/server.key -out ./ssl.crt/server.crt -subj '/CN=Certificado JavoAxian'

Este comando nos solicitará el PEM pass Phrase y su confirmación. Este nos será solicitado cada vez que iniciemos nuestro servidor web, pero para efectos de este artículo, lo eliminaremos.

Generating a 1024 bit RSA private key
....................++++++
.......................++++++
writing new private key to './ssl.key/server.key'
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
-----

Ya que ingresamos los datos anteriores, eliminaremos el PEM pass phrase que ingresamos de la siguiente manera:

root@darthmaul:~# cp ssl.key/server.key ssl.key/server.key.org
root@darthmaul:~# openssl rsa -in ssl.key/server.key.org -out ssl.key/server.key

Nos pedirá la PEM pass phrase que ingresamos:

Enter pass phrase for ssl.key/server.key.org:
writing RSA key

Ahora le cambiaremos los permisos al archivo server.key:

root@darthmaul:~# chmod 400 ssl.key/server.key

Con esto ya tenemos nuestro certificado. Ahora nos encargaremos de instalar subversion, para esto, lo descargaremos de su página. La versión vigente en el momento de hacer este post es la 1.4.6, por lo que bajaremos los siguientes archivos: subversion-1.4.6.tar.bz2 y subversion-deps-1.4.6.tar.bz2.

La instalación de subversion la haré en el directorio /usr/local.
Copiaremos los archivos de subversion que descargamos al directorio /usr/local/src.

root@darthmaul:~# cp /ruta/de/descarga/subversion-1.4.6.tar.bz2 /usr/local/src/
root@darthmaul:~# cp /ruta/de/descarga/subversion-deps-1.4.6.tar.bz2 /usr/local/src/

Hecho lo anterior, nos moveremos al directorio /usr/local/src y descomprimiremos los 2 archivos.

root@darthmaul:~# cd /usr/local/src/
root@darthmaul:~# tar -jxvf subversion-1.4.6.tar.bz2
root@darthmaul:~# tar -jxvf subversion-deps-1.4.6.tar.bz2

Esto creará un directorio llamado subversion-1.4.6 al cual ingresaremos.

root@darthmaul:~# cd subversion-1.4.6

Ahora ya tenemos todo listo para compilar el paquete de subversion, el cual lo vamos a instalar en el directorio /usr/local/subversion. Vamos a suponer, que si siguieron las instrucciones para instalar apache de este post. Apache deberá estar instalado en /usr/local/apache y abremos creado el usuario apache y el grupo apache.

root@darthmaul:~# ./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/local/apache --with-apr-util=/usr/local/apache --with-ssl

El comando configure nos mandará un WARNING el cual dice lo siguiente:

You don't seem to have Berkeley DB version 4.0.14 or newer
installed and linked to APR-UTIL. We have created Makefiles which
will build without the Berkeley DB back-end; your repositories will
use FSFS as the default back-end. You can find the latest version of
Berkeley DB here:
http://www.sleepycat.com/download/index.shtml

Éste nos dice que no tenemos instalada la base de datos de Berkeley, pero no la vamos a instalar, en su lugar vamos a usar la base de datos fsfs.
Continuaremos con la instalación ejecutando los siguientes comandos:

root@darthmaul:~# make
root@darthmaul:~# make install

Si desean, pueden agregar las siguientes líneas en el archivo /etc/profile para que los comandos de subversion funcionen sin tener que especificar su ruta completa.

export SVN=/usr/local/subversion
export PATH=$PATH:$SVN/bin

Para que funcione este cambio, deberán reiniciar su ambiente gráfico o su máquina.

Con esto tenemos instalado subversion. Ahora configuraremos un repositorio para que se pueda acceder por medio de nuestro servidor web.

Crearemos el repositorio especificando el tipo de base de datos fsfs en el directorio /usr/local/repositorio y le daremos permisos de escritura al usuario apache para que pueda escribir sobre el repositorio:

root@darthmaul:~# mkdir /usr/local/repositorio
root@darthmaul:~# /usr/local/subversion/bin/svnadmin create --fs-type=fsfs /usr/local/repositorio/
root@darthmaul:~# chown -R apache.apache /usr/local/repositorio/

Creado el repositorio, procederemos a crear una cuenta (javoaxian) para acceder a éste. Esto se hace usando el comando htpasswd que se encuentra en el directorio bin donde fue instalado apache y crearemos el archivo que guarda los passwords y lo pondremos en el directorio /usr/local/apache/svn.

root@darthmaul:~# mkdir /usr/local/apache/svn
root@darthmaul:~# /usr/local/apache/bin/htpasswd -cm /usr/local/apache/svn/svn_auth.txt javoaxian

La opción "c" indica que deberá crear el archivo de las contraseña, cabe destacar que si van a agregar otro usuario omitan esta opción ya que borrará el archivo ya existente.
La opción "m" indica que deberá generar las contraseña con el algoritmo MD5.
Se nos pedirá el password del usuario y que lo volvamos a ingresar:

New password:
Re-type new password:
Adding password for user javoaxian

Por seguiridad cambiaremos el dueño al directorio /usr/local/apache/svn y le cambiaremos los permisos:

root@darthmaul:~# chown -R apache.apache /usr/local/apache/svn/
root@darthmaul:~# chmod 700 /usr/local/apache/svn/

Ahora agregaremos las instrucciones necesarias en apache para tener acceso al repositorio, para ello, deberemos editar el archivo httpd.conf que se encuentra en el directorio conf donde se instaló apache, que en este caso está en /usr/local/apache/conf/httpd.conf.
Primero buscaremos la línea siguiente del archivo:

Listen 80

Y agregaremos la línea Listen 443 debajo de la que encontramos para que quede de la siguiente forma:

Listen 80
Listen 443

Ahora colocaremos las siguiente líneas al final del archivo:

NameVirtualHost *:443

<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /usr/local/apache/conf/ssl.crt/server.crt
SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/server.key

<Location /repositorio>
DAV svn
SVNPath /usr/local/repositorio
AuthType Basic
AuthName "Repositorio de Subversion"
AuthUserFile /usr/local/apache/svn/svn_auth.txt
Require valid-user
SSLRequireSSL
</Location>
</VirtualHost>

Como podemos observar, estamos creando un Host virtual para el puerto 443.
SSLCertificateFile: Ruta donde colocamos el archivo server.crt cuando creamos el certificado.
SSLCertificateKeyFile: Ruta donde colocamos el archivo server.key cuando creamos el certificado.
Location: Alias que usaremos para dirigirnos al repositorio, en este caso sería https://localhost/repositorio.
SVNPath: Ruta del repositorio.
AuthUserFile: Ruta del archivo de contraseñas que creamos.

Ahora deberemos reiniciar nuestro servidor de apache.

root@darthmaul:~# /usr/local/apache/bin/apachectl stop
root@darthmaul:~# /usr/local/apache/bin/apachectl start

Podemos entrar con nuestro navegador a la dirección https://localhost/repositorio/, nos aparecerá una pantalla para aceptar el certificado y una vez que aceptemos, nos mostrará una pantalla donde se nos pide el user name y password del usuario que creamos con el comando htpasswd, y una vez introducidos estos datos, nos mostrará el contenido del repositorio.

Ahora si queremos permitir el acceso a más de un usuario al repositorio, deberemos crear nuestros nuevos usuarios de la siguiente manera:

root@darthmaul:~# /usr/local/apache/bin/htpasswd -m /usr/local/apache/svn/svn_auth.txt javoaxian2

Crearemos otro archivo que se encargará de llevar el control de acceso a los usuario. Se les puede dar permisos de lectura o lectura-escritura, además que pueden acomodarse en grupos.

Este es un ejemplo del nuevo archivo:

[groups]
javoaxianteam = javoaxian, javoaxian2
pruebas = prueba1, prueba2

[/]
@javoaxianteam = rw
@pruebas = r
javoaxian3 = r

[/trunk]
javoaxian4 = r

Este archivo nos indica que tenemos dos grupos: javoaxianteam con los usuario javoaxian y javoaxian2 y el grupo pruebas con los usuarios prueba1 y prueba2.
También nos indica que el grupo javoaxianteam tiene permisos de lectura-escritura sobre el directorio "/" del repositorio, el grupo pruebas y el usuario javoaxian3 sólo tienen permisos de lectura para el repositorio.
Por último, el usuario javoaxian4 tiene permisos de lectura dentro del directorio /trunk del repositorio.

Este nuevo archivo lo crearé en /usr/local/apache/svn/svn_control_acceso.txt.

Una vez que se tiene el archivo con la configuración que deseamos, deberemos configurar nuevamente apache.
Deberemos editar el archivo /usr/local/apache/conf/httpd.conf y poner la línea:

AuthzSVNAccessFile /usr/local/apache/svn/svn_control_acceso.txt

Debajo de la línea:

Require valid-user

Por lo que nos quedaría de la siguiente manera esta sección de la configuración de apache.


DAV svn
SVNPath /usr/local/repositorio
AuthType Basic
AuthName "Repositorio de Subversion"
AuthUserFile /usr/local/apache/svn/svn_auth.txt
Require valid-user
AuthzSVNAccessFile /usr/local/apache/svn/svn_control_acceso.txt
SSLRequireSSL

Y nuevamente deberemos reiniciar nuestro apache.

root@darthmaul:~# /usr/local/apache/bin/apachectl stop
root@darthmaul:~# /usr/local/apache/bin/apachectl start

Pueden acceder al repositorio mediante su navegador a la dirección https://localhost/repositorio/ e ingresar los datos de acceso de su usuario.
Espero que esto les pueda ser de utilidad.
Saludos.

sábado, 14 de junio de 2008

Cómo conectar: Eclipse + Subclipse + Subversion repositorio sobre Apache

Hace ya algunos tiempo escribí este artículo que explica cómo podemos conectar Eclipse con el plugin Subclipse a un repositorio de Subversion por medio de SSH.

Hoy a petición del buen joven JCTOL, voy a explicar cómo podemos conectar Eclipse con el plugin Subclipse a un repositorio de Subversion que se encuentra sobre Apache (http o https).

Para iniciar supondré que ya cuentan con Eclipse (ver este artículo) y Subclipse (ver este artículo) instalados y configurados, además que cuentan con un repositorio de Subversion configurado con Apache. Para este fin, usaré un repositorio que podré consultarlo desde la dirección: http://localhost/repositorio, ustedes deberán usar el URL de su repositorio.

Ahora abriremos la perspectiva de SVN de Subclipse seleccionando las siguientes opciones del menú de eclipse: Window -> Open Perspective -> Other...


Se presentará la pantalla Open Perspective, donde seleccionaremos SVN Repository Exploring.


Se mostrará la perspectiva de SVN.


Presionaremos la opción Add SVN Repository.


Se abrirá la pantalla Add SVN Repository. Aquí deberemos ingresar en la sección Url el Url de nuestro repositorio, que para este ejemplo es: http://localhost/repositorio y presionaremos "Finish".


En caso que el repositorio no necesite autenticación, se omitirá este paso, en caso contrario, nos aparecerá la pantalla Enter Username and Password donde deberemos ingresar el nombre de usuario y la contraseña de nuestro usuario del repositorio.


Se agregará en la sección SVN Repository el repositorio que acabamos de configurar.

Supondré que este repositorio cuenta con los directorios branches, tags y trunk y dentro de este último tenemos el directorio javoaxian. Teniendo esta estructura, haré una copia en eclipse de la carpeta javoaxian. Para llevar esto acabo, presionaremos sobre la flecha que se encuentra del lado izquierdo de nuestro repositorio, lo cual nos mostrará los directorio branches, tags y trunk y presionaremos en la flecha del lado izquierdo de trunk para que nos aparezca el directorio javoaxian. Ahora con el botón derecho de nuestro ratón, presionaremos sobre el directorio javoaxian, y se mostrará un menú donde presionaremos sobre la opción Checkout...


Para este artículo, me basaré en que el proyecto ya cuenta con archivos y con el archivo .project el cual le indica a eclipse qué tipo de proyecto es (si cuentas con un proyecto desde cero, puedes continuar con lo que indico en esta sección de este artículo). Por tal motivo, ahora que se nos presenta la pantalla Checkout from SVN, aparecerá la opción Check out as a project in the workspace marcada y en el campo Project Name nos mostrará el nombre de nuestro proyecto, al cual le puse javoaxianPHP. Bastará con presionar "Finish" para que se haga la copia de nuestro proyecto en eclipse.


Para finalizar, el proyecto que puse en el ejemplo, es un proyecto de PHP, por lo que abriré la perspectiva de PHP para empezar a trabajar con él. Si desean configurar el plugin de PHP de Eclipse, pueden ver este artículo. Si su proyecto es de otro tipo, como por ejemplo, Java, C, Perl, etc., deberán abrir la perspectiva correspondiente al lenguaje en que está su aplicación.

martes, 27 de mayo de 2008

Conectar Eclipse con Subclipse a un repositorio de Subversion por medio de SSH

Esta vez voy a explicar cómo podemos conectar Eclipse con el plugin Subclipse a un repositorio ya creado de Subversion (SVN) por medio de SSH.

Para comenzar, deberemos tener ya instalado Eclipse (ver este artículo), Subclipse (ver este artículo) y tener creado ya un repositorio de SVN (ver este artículo).

Para fines de esta explicación usaré un repositorio que se encuentra en la ruta /home/javoaxian/SVN, dicho repositorio ya cuenta con las tres secciones principales de SVN, las cuales son: trunk, branches y tags, dentro de trunk cuento con una sección llamada javoaxian que es donde se situarán los archivos de nuestro proyecto, la cuenta de usuario del servidor donde nos conectaremos será javoaxian. Y como nombre del dominio del servidor usaré a localhost aunque también pueden usar la ip como por ejemplo 127.0.0.1 .

Arrancaremos eclipse y abriremos la perspectiva de SVN seleccionando en el menú de eclipse: Window -> Open Perspective -> Other...


Se abrirá la pantalla Open Perspective, donde deberemos seleccionar la opción SVN Repository Exploring.


Cambiará la perspectiva de eclipse.


Lo siguiente que haremos será presionar sobre la opción Add SVN Repository.


Esto abrirá la pantalla Add SVN Repository, en donde deberemos ingresar en la sección Url la conexión a nuestro repositorio, que en cuyo caso, lo que usaré en este artículo será la línea de conexión: svn+ssh://javoaxian@localhost/home/javoaxian/SVN. Ingresado este dato presionaremos "Finish".


Se presentará la pantalla Enter SSH Credentials, en la que deberemos ingresar la contraseña de la cuenta de usuario del servidor donde nos queremos conectar, que en este caso es javoaxian y presionaremos "OK".


Ahora aparecerá la pantalla Enter SVN Author Name, en la que deberemos, de preferencia, ingresar nuestro nombre completo aunque esto es elección de cada uno. En este caso voy a dejar el nombre de javoaxian, marcaré la casilla Save author name para que no me vuelva a pedir el nombre del autor y presionaremos "OK".


Se agregará en la sección SVN Repository el repositorio que acabamos de configurar. Ahora para hacer una copia del contenido del repositorio en nuestro eclipse, presionaremos sobre la flecha que se encuentra del lado izquierdo de nuestro repositorio, lo cual nos mostrará los directorio branches, tags y trunk y presionaremos en la flecha del lado izquierdo de trunk para que nos aparezca la sección javoaxian. Ahora con el botón derecho de nuestro ratón, presionaremos sobre la sección javoaxian, y se nos presentará un menú donde presionaremos sobre la opción Checkout...


Se nos presentará la pantalla Checkout from SVN, donde podemos usar su Wizard para especificar el tipo de proyecto que estamos creando. Como el proyecto que estamos creando está desde cero, usaremos la opción Check out as a project configured using the New Project Wizard para crear un proyecto que en este caso será de java, en donde el mismo eclipse nos pone como opción por default. Suponiendo que en nuestro repositorio ya tenemos un proyecto que configuramos con anterioridad, la opción que eclipse nos marcará por default será Check out as a project in the workspace ya que en el proyecto se crea un archivo llamado .project el cual indica el tipo de proyecto que esta configurado. Presionaremos "Finish".


Nos aparecerá la pantalla de New Project de eclipse. En esta ventana seleccionaremos Java -> Java Project y presionaremos "Next".


A continuación veremos la pantalla donde podremos ponerle el nombre a nuestro proyecto. Cabe mencionar que esta pantalla variará dependiendo del tipo de proyecto que estemos creando. Por ejemplo, en el caso de crear un proyecto de PHP con PHPEclipse únicamente se nos pedirá el nombre del proyecto, pero como podemos observar en el caso de un proyecto de java, se nos muestran más opciones. En este caso bastará con ingresar el nombre del proyecto, que en mi caso lo llamaré proyectoJavoAxian y presionaremos "Finish".


Eclipse nos preguntará si queremos abrir la perspectiva asociada al proyecto que estamos creando, que para este ejemplo será la perspectiva de java. Presionaremos "YES".


Es posible que nos aparezca una ventana donde se nos indica que estamos creando un proyecto que contiene recursos adicionales a un archivo .project normal. Aquí presionaremos "OK".


Eclipse nos pondrá la perspectiva de acuerdo al tipo de proyecto que creamos. Para este ejemplo, se abrió la perspectiva de Java.


En cualquiera de los casos, veremos que en el nombre del proyecto, aparecerá un asterisco color ginda, lo cual indica que hay un cambio en la copia que tiene eclipse y que deberá mandarse al repositorio. Los cambios creados en todo proyecto, es porque se crea el archivo .project. En el caso específico de java, también se crean los directorio src, bin y el archivo .classpath.


Para mandar estos cambios al repositorio, bastará con presionar con el botón derecho del ratón sobre el nombre del proyecto, y se nos mostrará un menú donde seleccionaremos las opciones Team -> Commit.


Se nos presentará una ventana donde se nos pide un comentario de los cambios que vamos a hacer en le repositorio y deberemos seleccionar los nuevos archivos que se van a agregar al repositorio y presionamos "OK".


Ahora podemos ver que se ha quitado el asterisco ginda que estaba en el nombre del proyecto.


Con esto quedó configurado nuestro proyecto de eclipse para que trabaje con nuestro repositorio SVN.

Las opciones para trabajar con el repositorio de Subversion se pueden localizar haciendo clic sobre el nombre del proyecto con el botón derecho del ratón y seleccionar la opción Team.

sábado, 8 de marzo de 2008

Guía para instalar Subversion (SVN) y crear un repositorio en Ubuntu 7.10 (Gutsy Gibbon)

Actualizaciones 2008-03-28:
Funciona en Debian configurando el comando sudo como aquí se menciona o ejecutando todo lo referente a sudo como root.
También funciona en otras distribuciones, únicamente hay que instalar los paquetes subversion subversion-tools openssh-server de acuerdo a la distribución que usan.

Para los que no han usado Subversion (SVN), les comento que este software es un Sistema de Control de Versiones, y sirve, como su nombre lo dice, para llevar un control de versiones de proyectos, documentos y de cualquier archivo del cual se quiera tener un control de todos los cambios que se hacen sobre él.

Ésta es una guía rápida para instalar este software y de manera sencilla se explicará como crear un repositorio. Es importante mencionar que SVN (como también se conoce a Subversion) cuenta con una herramienta para administrarlo por medio de Apache, aunque en este caso, no nos enfocaremos a habilitar esta opción. La forma para ingresar al repositorio en este caso, será mediante una conexión local si se tiene una cuenta dentro del mismo servidor, o por medio del protocolo Secure Shell (SSH).

Para casos prácticos también instalaremos openssh para conectarnos por medio de SSH al servidor que tendrá el repositorio.

Pues menos rollo y más acción. Lo que realizaremos primero, será instalar todo el software que necesitaremos para que pueda funcionar nuestro repositorio y el servidor para conectarnos remotamente por medio de SSH.

$ sudo apt-get install subversion subversion-tools openssh-server

Nos aparecerá algo semejante a lo ésto.

Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Se instalarán los siguientes paquetes extras:
libapr1 libaprutil1 libpq5 libsvn1
Paquetes sugeridos:
rssh molly-guard db4.4-util libsvn-ruby1.8
Paquetes recomendados
python-subversion libsvn-perl libconfig-inifiles-perl exim4
mail-transport-agent
Se instalarán los siguientes paquetes NUEVOS:
libapr1 libaprutil1 libpq5 libsvn1 openssh-server subversion
subversion-tools
0 actualizados, 7 se instalarán, 0 para eliminar y 111 no actualizados.
Necesito descargar 1678kB de archivos.
Se utilizarán 7324kB de espacio de disco adicional después de desempaquetar.
¿Desea continuar [S/n]?

Presionaremos "S" y "Enter" para iniciar la instalación.

Una vez terminada la instalación, está todo listo para crear nuestro primer repositorio. Crearemos un directorio donde queramos que se aloje el repositorio, en éste caso crearé una carpeta llamada SVN dentro de mi HOME.

$ cd $HOME
$ mkdir SVN

Ahora crearemos el repositorio con el comando svnadmin dentro del directorio que SVN.

$ svnadmin create $HOME/SVN

Ha quedado creado el repositorio, lo que ahora se necesitará hacer es incrustar información. Se recomienda que se creen las secciones trunk, branches y tags. Donde trunk almacena el proyecto principal, branches almacena posibles proyectos alternos, y por último tags almacena las versiones listas para entregar.

Para construir las secciones antes mencionadas, hay varias formas de hacerlo, en éste caso crearemos las 3 secciones y posteriormente las importaremos al repositorio.
Crearemos un directorio temporal y dentro de éste, crearemos los directorios trunk, branches y tags. También crearemos el directorio que tendrá el proyecto dentro de trunk, y que en este caso le pondré javoaxian.

$ mkdir tmp
$ cd tmp
$ mkdir trunk branches tags
$ mkdir trunk/javoaxian

Ahora importaremos esta estructura al repositorio de la siguiente manera.

$ svn import . file:///home/javoaxian/SVN -m "Mensaje para indicar la acción que estamos realizando"

Nos aparecerá algo similar a esto.

Añadiendo trunk
Añadiendo trunk/javoaxian
Añadiendo branches
Añadiendo tags

Commit de la revisión 1.

La línea que acabamos está formada por algunos elementos que aclaré.
El comando "svn" nos permite efectuar una acción en el repositorio.
La opción "import ." le indica al comando svn que deberá importar todo lo que se encuentra en el directorio actual. Podríamos cambiar el caracter "." por la ruta de algo que deseemos importar.
La opción "file://" le indica al repositorio que va a hacer una conexión desde el mismo equipo al repositorio y posterior a ésto, se indica la ruta de donde se aloja el repositorio, que en el caso del ejemplo es /home/javoaxian/SVN.
Por último, la opción "-m" indica que se va a agregar un comentario, éste debe de ir entre comillas dobles después de la opción -m.

Si desearamos realizar la conexión remota por medio de ssh a un repositorio externo a nuestro servidor, el comando se pondría de la siguiente manera.

$ svn import . svn+ssh://javoaxian@servidor.net/home/javoaxian/SVN -m "Mensaje para indicar la acción que estamos realizando"

Si observan, la línea que cambio fue la que indicaba file://, por svn+ssh:// y posteriormente se coloca la cuenta@servidor.del.repositorio y seguido la ruta completa donde se encuentra el repositorio.

Ahora ya puede borrar el directorio temporal que se creo. Nos saldremos del directorio (en caso de estar situados en él) y lo borraremos.

$ cd ..
$ rm -rf tmp/

Ya tienen listo el repositorio y en trunk la sección javoaxian para allí guardar todo lo que necesiten controlar de su proyecto.

Si desean saber más sobre Subversion, quizas estos enlaces les puedan interesar:
http://svnbook.red-bean.com
http://www.wikilearning.com/tutorial/tutorial_de_subversion/6411

domingo, 2 de marzo de 2008

Instalación de Subclipse

Subclipse es un plugin para Eclipse, el cual te permite conectarte a repositorios de Subversion (SVN) y así poder obtener copias de los proyectos que se encuentran en los repositorios y posteriormente mandar cambios y todas la funcionalidad que con que cuenta un sistema de control de versiones como lo es "Subversion".

  1. Lo primero que hay que realizar es abrir nuestro Eclipse (en este caso usaremos la versión 3.3.1):


  2. Una vez abierto vamos a su menú y abrimos la opción Help -> Software Updates -> Find and Install...


  3. hecho ésto se mostrará la siguiente pantalla donde deberemos seleccionar la opción "Search for new features to install" y presionar "Next"


  4. ahora se visualizará una pantalla donde deberemos presionar en la opción "New Remote Site"


  5. en la nueva ventana ingresaremos en el campo "Name:" Buckminster y en el campo "URL:" http://download.eclipse.org/tools/buckminster/updates (sólo versiones 3.3 y 3.4 de Eclipse) y presionamos "OK"


  6. se nos mostrará una pantalla con la opción "Buckminster" marcada donde volveremos a realizar el punto 4 y posteriormente ingresaremos en el campo "Name:" Subclipse y en el campo "URL:" http://subclipse.tigris.org/update_1.2.x (si tu versión de Eclipse es diferente a la 3.2.x ó 3.3.1 deberás usar los siguientes URL's:

    3.0/3.1
    http://subclipse.tigris.org/update_1.0.x

    2.1.3
    Deberás descargarlos desde Aquí y copiar su contenido en el directorio donde se encuentra Eclipse instalado.
    Presionamos "OK"


  7. se nos mostrará una pantalla con las opciones "Buckminster" y "Subclipse" marcadas, y deberemos presionar "Finish"


  8. en la pantalla siguiente deberemos seleccionar "Buckminster" y "Subclipse", y nos aparecerá y mensaje de error donde nos indica que requerimos del plug-in org.eclipse.team.svn.core, para lo cual, presionamos sobre la flecha que se encuentra al lado izquierdo de la opciones "Buckminster" y desmarcaremos la opción "Buckminster (optional)", esta acción quitará el mensaje de error y podremos presionar "Next"


  9. en esta nueva pantalla se nos pregunta si aceptamos la licencia para lo cual hay que marcar la opción "I accept the terms in the license agreement" y presionamos "Next"


  10. ahora se nos indica el software que se instalará y presionamos "Finish"


  11. iniciará el proceso para bajar el software


  12. ahora se nos presentará una pantalla de verificación de características a lo cuál presionaremos "Install All"


  13. iniciará el proceso de instalación


  14. se nos preguntará si queremos reiniciar "Eclipse" para efectuar los cambios a lo que presionaremos la opción "Yes".


Listo, ya tenemos instalado "Subclipse" para poder trabajar con "Subversion", en otra entrada mostraré como conectar "Eclipse" con un repositorio de "Subversion".

Nota para usuarios de Windows: Deberán asegurarse de tener elegida la opción SVNKit (pure Java). Para hacer esto, deberán ir a Window -> Preferences ... -> Team -> SVN y en la sección SVN Inteface: elegir la opción SVNKit (pure Java), por default aparece marcada la opción JavaHL (JNI) la cual no funciona con Subclipse en Windows. El mensaje que regularmente aparece cuando NO está configurada esta opción es svn: Can't create tunnel, y ocurre cuando queremos conectarnos a un repositorio.