9. Arquitectura En un extremo se encuentra un repositorio de Subversion que conserva todos los datos versionados. Al otro lado, hay un programa cliente Subversion que administra réplicas parciales de esos datos versionados (llamadas “copias de trabajo”). Entre estos extremos hay múltiples rutas a través de varias capas de acceso al repositorio (AR). Algunas de estas rutas incluyen redes de ordenadores y servidores de red que después acceden al repositorio. Otras pasan por alto la red y acceden al repositorio directamente.
10.
11. svn: El programa cliente de línea de comandos. svnversion: Programa para informar del estado (en términos de revisiones de los elementos presentes) de una copia de trabajo. Svnlook: Una herramienta para inspeccionar un repositorio de Subversion. Svnadmin : Herramienta para crear, modificar o reparar un repositorio de Subversion. Svndumpfilter : Un programa para filtrar el formato de salida de volcado de repositorios Subversion. mod_dav_svn : Un módulo para el servidor HTTP Apache usado para hacer que su repositorio esté disponible a otros a través de una red. Svnserve : Un servidor independiente, ejecutable como proceso demonio o invocable por SSH; otra manera de hacer que su repositorio esté disponible para otros a través de una red. Componentes de Subversion
12. Comienzo rápido Para comenzar, cree un nuevo repositorio: $ svnadmin create /path/to/repos $ ls /path/to/repos conf/ dav/ db/ format hooks/ locks/ README.txt A continuación, se crea un árbol de ficheros y directorios para importar dentro del repositorio. Su estructura debería tener tres directorios en el primer nivel de la jerarquía llamados branches,tags, y trunk: /tmp/project/branches/ /tmp/project/tags/ /tmp/project/trunk/ foo.c bar.c Makefile …
13. Comienzo rápido Una vez tenga un árbol de datos listo para continuar, se importa dentro del repositorio con el comando svn import: $ svn import /tmp/project file:///path/to/repos -m "initial import" Adding /tmp/project/branches Adding /tmp/project/tags Adding /tmp/project/trunk Adding /tmp/project/trunk/foo.c Adding /tmp/project/trunk/bar.c Adding /tmp/project/trunk/Makefile … Committed revision 1. $
14. Comienzo rápido Para comenzar a manipular los datos del repositorio, se necesita crear una nueva “copia de trabajo” de los datos, una especie de entorno de trabajo privado: $ svn checkout file:///path/to/repos/trunk project A project/foo.c A project/bar.c A project/Makefile … Checked out revision 1.
15. El repositorio La parte principal de Subversion es el repositorio, el cual es un almacén central de datos. El repositorio guarda información en forma de árbol de archivos. Cualquier número de clientes puede conectarse al repositorio y luego leer o escribir en esos archivos. El repositorio es una especie de servidor de archivos, pero no del tipo habitual. Lo que hace especial al repositorio de Subversion es que recuerda todos los cambios hechos sobre él.