Esta sección es una introducción a Subversion para no desarrolladores. Cuando tengas una idea aproximada de como funciona, te invito a que leas el documento completo.
Subversion es un software destinado a facilitar el trabajo en equipo sobre un conjunto de ficheros.
Cada usuario puede participar desde un ordenador conectado a Internet o una red local.
Los usuarios se conectan al servidor para intercambiar modificaciones.
El servidor recuerda todos los cambios realizados sobre un fichero y permite recuperar versiones anteriores.
El acceso al servidor esta protegido mediante contraseñas.
Es posible realizar copias de seguridad de toda la información.
Subversion es gratuito.
Subversion se compone de un programa "servidor" y otro "cliente".
El servidor contiene una copia maestra de la información a compartir.
Los usuarios usan el cliente para descargar la información existente en el servidor.
Cuando un usuario realiza un cambio, lo envía al servidor para que otros usuarios puedan descargarlo.
El servidor guarda los ficheros dentro de una base de datos (no son visibles en el sistema de ficheros).
Hay versiones para Windows y cualquier sistema basado en Unix.
Puede instalarse como servidor independiente o como módulo de Apache.
Consume pocos recursos.
Una instalación básica solo requiere conocimientos a nivel de usuario del sistema operativo.
Este es un ejemplo de trabajo con Subversion usando la línea de comando:
# Descargo (checkout) el proyecto del servidor usando # la URL que me dió el administrador del repositorio. svn checkout http://servidorDeSVN/repos/miProyecto # Ahora tengo una copia del proyecto en mi ordenador y puedo trabajar en ella. # Si quiero modificar ficheros no tengo más que editarlos. # Si por ejemplo decido añadir ficheros o directorios hago esto: svn add fichero1 fichero2 directorio3 # Si quisiera eliminar, haría esto otro: svn delete ficheroA directorioB # En cualquier momento puedo revisar los cambios que he hecho en mi copia local. svn status # Al terminar, envío mis cambios al servidor informando de lo que he hecho. svn commit –m "he modificado tal y cual, añadido tal y borrado cual" # Actualizo mi copia local con los cambios subidos por otros usuarios. svn update
Subversion proporciona integración con entornos de desarrollo como Eclipse, JBuilder, u otros. Normalmente ejecutaremos las mismas operaciones que acabamos de ver usando los menús de un interfaz gráfico.