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.comhttp://www.wikilearning.com/tutorial/tutorial_de_subversion/6411