Está en la página 1de 6

Universidad Nacional de Loja

AEIRNNR

Nombre: Jorge Tene


Modulo: 9 “A”
Fecha: 07/01/2011

Que es subversión?

Subversion es un sistema gratuito y open source de control de versiones iniciado en 2000


porCollabNet Inc.  Emplea licencia Apache/BSD.  Se usa para mantener versiones actuales e
históricas y los cambios de archivos tales como los de código fuente, páginas web y/o
documentación.  Esto permite recuperar versiones antiguas de los datos o examinar cómo han ido
evolucionando estos. Por eso, se podría pensar que un sistema de control de versiones es una
especie de “máquina del tiempo”. Su objetivo es ser un sucesor prácticamente compatible del
ampliamente usadoConcurrent Versions System (CVS).

Subversion puede trabajar a través de redes, lo que permite que personas que estén en diferentes
ordenadores puedan usarlo.  De cierta manera, la posibilidad de que varias personas modifiquen y
gestionen el mismo conjunto de datos desde sus respectivos sitios promueve la colaboración.  Y
como el trabajo está versionado, no hace falta temer que la calidad del mismo empeore como
consecuencia de perder un conducto que los revisara, ya que si se produce algún cambio
incorrecto de los datos, sólo hace falta deshacerlo.

Cómo funciona?

 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).

Ventajas

 Es gratuito y de código abierto.
 Es facil de instalar y usar y dispone de excelentes herramientas.
 Las modificaciones (incluyendo a varios archivos) son atómicas.
 Subversión le permite mover archivos y directorios versionados sin ninguna perdida de
información.
 Puede ser servido por Apache, sobre WebDAV/DeltaV. Esto permite que clientes WebDAV
utilicen Subversión de forma transparente.
 Maneja eficientemente archivos binarios (a diferencia de CVS que los trata internamente
como si fueran de texto).
 Permite selectivamente el bloqueo de archivos. Se usa en archivos binarios que, al no
poder fusionarse fácilmente, conviene que no sean editados por más de una persona a la
vez.

Desventajas

 No registra cambios en la estructura de directorios: no es posible mover,renombrar ni


copiar.
 Con CVS era necesario interrumpir el acceso al repositorio para crear las copiasde
seguridad.
 No permite conjuntos de cambios.
 Almacena ficheros binarios enteros.
 No usa la red eficientemente (en CVS siempre se envían al servidor archivoscompletos y
no sólo las diferencias que sí hace Subversion).
 El creado de ramas y etiquetas en CVS es una operación no lineal (O(n)) siendoen
Subversion de coste constante (O(1)).
 El manejo de archivos binarios los trata internamente como si fueran de texto nocomo
Subversion.

Como instalar (SVN)

Subversion (SVN) es una aplicación para el control de versiones que nos permite gestionar los
cambios y versiones que realizamos en nuestros desarrollos de una forma sencilla. Es mucho mas
intuitivo que el antiguo CVS y mas versátil que SourceSafe. En este post no vamos describir que es
SVN o CVS, son proyecto Open Source con una gran comunidad y existe abundante información en
Internet sobre ellos.

Requisitos:

 Servidor Svnserve
 TortoiseSVN

Pasos para instalar SVN:

1) Instalar Snvserve

 a) Obtener la última versión del servidor Svnserve aquí.

 b1) Si tienes el instalable para Windows, sólo ejecutarlo.

 b2) Si tienes un archivo zip con los binarios, crea un directorio, Por ejemplo,c:\svnserve
(<directorio_de_Svnserve>). Copia todos los ficheros de zip.
2) Instalar TotoiseSVN (Es necesario reiniciar el PC)

 a) Obtener la última versión de TotoiseSVN.

 b) Ejecutar la instalación de TortoiseSVN.

3) Configurar el servidor

 a) Crear un directorio donde estarán los repositorios de SVN, por ejemplo:c:\repos


(<directorio_de_repositorios>).

 b) Crear un servicio de Windows para arrancar y parar fácilmente el Servidor de SVN. En


una ventana de la consola de Windows ejecutar el siguiente comando:

sc create svn.local binpath= "\"<directorio_de_Svnserve>\svnserve.exe\" ----service


----root<directorio_de_repositorios>" displayname= "Subversion Repository" depend= Tcpip

 Donde:
o <directorio_de_Svnserve>  : Es el directorio donde instalamos el servidor Svnserver
(Paso 2b).
o <directorio_de_repositorios> : Es el directorio que hemos creado para los
repositorios. (Paso 3a)

 c) Arrancar el servicio de SVN. En la ventana de gestión de servicios de Windows ( Panel de


control de Windows -> Herramientas administrativas -> Servicios), buscar el servicio
“Subversión Repository” e inicializarlo.

4) Añadir un nuevo proyecto de desarrollo

 a) Crear un directorio dentro del directorio de repositorios, en nuestro


ejemploc:\repos\test. El repositorio se creará dentro de este directorio, aseguraros de que
el directorio esta vacío y no tiene protección contra escritura.

 b) Botón derecho encima del directorio y con tortoiseSVN crea un repositorio (Opción
“Create repository here…”).

 c) Selecciona “Native filesystem (FSFS)”, es menos problemática con configuraciones en


red. NOTA: TortoiseSVN creará varios ficheros dentro del directorio, NO cambiar NADA.

 d) Editar los ficheros de configuración. NO tocar nada más. En el directorio del


ejemplo c:\repos\test\conf editar los ficheros:

 Fichero  svnserve.conf, añadir
[general]
# Solo acceso a usuarios autorizados.
auth-access = write
# Fichero de usuarios.
password-db = passwd

 Fichero passwd, añadir

[users]
# listado de usuarios y password

usuario = pass

5) Crear un proceso de Backup de nuestros ficheros

 a) Crea un directorio donde guardar el Backup, en el ejemplo c:\SvnBackup

 b) Crear un fichero RealizaBackupSVN.bat y añade el siguiente shell script.

rem borra el contenido del anterior backup


del "c:\SvnBackup" /S /F /Q
rd c:\SvnBackup /S /Q
md c:\SvnBackup

rem backup en caliente


c:\<directorio_de_Svnserve>\svnadmin.exe hotcopy c:\repos\test c:\SvnBackup

 c) Crea una tarea programa de Windows que ejecute el shell script anterior, puede ser a
cualquier hora ya que la copia se hace en caliente y no es necesario parar el servidor de
SVN.

Como crear repositorios

Servidor subversion como servicio de windows

Si el instalable no nos monta subversion como servicio de windows, podemos hacerlo de la


siguiente manera. El ejecutable de servidor de subversion es svnserve.exe. Para crear un servicio
con él debemos ejecutar el comando sc que viene con Windows de la siguiente manera, con
permisos de administrador

sc create svnserve binpath= "c:\svnserve\svnserve.exe --service


--root c:\repos" displayname= "Subversion" depend= tcpip
start= auto
donde svnserve es el nombre que queremos dar al servicio, binpath contiene el comando a
ajecutar (svnserve.exe con sus opciones) y dentro de él --root apunta al directorio donde están
nuestros repositorios de subversion). displayname es el nombre que queremos que se vea para el
servicio, depend es una dependencia del servicio, que depende de tcpip. Y start=auto indica que se
arranque automáticamente al encender el ordenador.

Crear repositorios

En el directorio donde hemos indicado que estarán nuestros repositorios, podemos crear
repositorios para nuestros proyectos. Para ello, vamos al directorio c:\repos y ejecutamos el
comando

c:\> cd c:\repos
c:\repos> svnadmin create PROYECTO1

Esto creará un repositorio PROYECTO1

Crear usuarios co

Crear usuarios con algunos privilegios en Subversión

Vamos al repositorio de PROYECTO1 recién creado y editamos el fichero conf/svnserve.conf. Por


defecto viene con un montón de comentarios, pero en los que podemos leer claramente todas las
opciones. Podemos dejar algo como esto

anon-access = read
auth-access = write
password-db = passwd
realm = PROYECTO1

Donde:

 anon-access = read indica permisos de lectura para usuario anónimos. Es decir, cualquiera


podría sacar los fuentes para verlos, pero no podría subir los cambios.
 auth-access = write indica permisos de lectura y escritura para usuarios autentificados.
 password-db = passwd es el fichero donde estarán los nombres de usuario y passwords.
En este caso, el fichero se llamará passwd y el path es relativo al ficherosvnserve.conf que
estamos editando.
 realm = PROYECTO1 es el nombre que verán los usuarios cuando intenten acceder al
repositorio y se les pida usuario y password. Puede ser cualquier palabra o frase que
queramos. También se usará como clave para cifrado si corresponde.

Podemos dejar annon-acces = none para no dar ningún permiso a usuario anónimos.

Luego, editamos el fichero passwd que se crea por defecto (o el que hayamos indicado


en password-db = passwd), lo editamos y ponemos los usuarios que queramos, de esta manera
[users]
chuidiang = la-password
federico = otra-password
juana = mas-passwords

Principales comandos en Subversión

A continuación procedemos a mostrar algunos comandos útiles para trabajar con subversion, aquí
indicamos lo básico para poder trabajar con el control de versiones, pero es recomendable la
instalación de algún cliente con interfaz gráfica.

# 1. Checkout
svn checkout http://svn.example.com/repos/proyecto/trunk
# 2. Actualizar cambios hechos por otros
svn update
# 3. ¿Que cambios voy a enviar?
svn status
# 4. Enviar mis cambios
svn commit –m "comentario sobre los cambios subidos"
# 5. Poner ficheros y directorios bajo el control de subversion
svn add fichero1 fichero2 subdirectorio
svn commit –m "Añado dos ficheros y un directorio"
# 6. borrar ficheros y directorios
svn delete fichero1 fichero2 subdirectorio
svn commit –m "Borro dos ficheros y un directorio"

Webgrafia

Conceptos de Subversión [Seriada en Línea] Disponible en URL:


http://www.cesnavarra.net/cesdigital/Lists/Noticias%20CESDigital/DispFormCES.aspx?
List=5ec0dfc7-7911-470b-8b6b-71ba72783fdd&ID=48 [Consulta realizada: 07 de Enero del 2011]

Subversion para no desarrolladores [Seriada en Línea] Disponible en URL:


http://polaris.dit.upm.es/~rubentb/docs/subversion/TutorialSubversion/ar01s06.html#N10A5F
[Consulta realizada: 07 de Enero del 2011]

Tutorial creado por lcflores [Seriada en Línea] Disponible en URL:


http://www.xperimentos.com/2007/03/22/instalar-subversion-svn-en-windows-en-cinco-pasos-
con-backup-incluido/ [Consulta realizada: 07 de Enero del 2011]

Montar un servidor en Windows  [Seriada en Línea] Disponible en URL:


http://chuwiki.chuidiang.org/index.php?title=Montar_un_servidor_subversion_en_Windows [Con
sulta realizada: 07 de Enero del 2011]

También podría gustarte