Subversion

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Subversion - Presentation Transcript

    1. Subversion Ixchel Stephanie Zazueta García 2do Semestre Ingeniería en Software
      • El Concurrent Versions System, es una aplicación que implementa un sistema de control de versiones: mantiene el registro de todo el trabajo y los cambios en los ficheros que forman un proyecto y permite que distintos desarrolladores colaboren.
      CVS, qué es?
      • Arquitectura cliente-servidor.
      • Originalmente, el servidor utilizaba un sistema operativo similar a Unix, aunque en la actualidad existen versiones de CVS en otros sistemas operativos, incluido Windows.
      • Varios clientes pueden sacar copias del proyecto al mismo tiempo. Cuando actualizan sus modificaciones, el servidor trata de acoplar las diferentes versiones.
      • Los clientes pueden también comparar diferentes versiones de archivos, solicitar una historia completa de los cambios, o sacar una "foto" histórica del proyecto tal como se encontraba en una fecha determinada o en un número de revisión determinado.
      • Los clientes también pueden utilizar la orden de actualización con el fin de tener sus copias al día con la última versión que se encuentra en el servidor.
      • CVS también puede mantener distintas "ramas" de un proyecto. Por ejemplo, una versión difundida de un proyecto de programa puede formar una rama y ser utilizada para corregir errores.
      Características
    2. Historia / Limitantes
      • CVS fue desarrollado por GNU. Se otorga con licencia GPL.
      • Actualmente existen muchas versiones de CVS implantadas en los diferentes sistemas operativos.
      • Limitaciones del protocolo CVS:
      • Los archivos en el repositorio sobre la plataforma CVS no pueden ser renombrados.
      • Cada archivo en cada subdirectorio debe ser eliminado y re-agregado con el nuevo nombre.
      • Soporte limitado para archivos Unicode con nombres de archivo no ASCII.
      • Fuerte integración con Apache : Esto permite definir controles de acceso avanzados y navegación vía web para consultar el deposito de archivos.
      • Transparencia al eliminar y cambiar nombres de archivos : CVS requiere intervención manual en el deposito para lograrlo, Subversion contempla esta deficiencia y la corrige con éxito.
      • Copias ligeras sobre ramificaciones : La generación de ramificaciones en CVS además de ser un proceso involucrado implica la generación de una copia nueva en el deposito, mismo mecanismo que hace crecer el tamaño del deposito, Subversion independientemente del numero de ramificaciones creadas mantiene un árbol diferencial de cambios, minimizando así el espacio consumido en el deposito.
      • Copias diferenciales de archivos binarios : Subversion es capaz de mantener un control diferencial sobre cualquier archivo binario del deposito, CVS requiere archivar copias completas de un archivo binario cada vez que éste cambia.
      SVN sobre CVS:
      • Es un software de sistema de control de versiones.
      • (2000 / CollabNet Inc.)
      • Es software libre bajo una licencia de tipo Apache/BSD.
      • Se le conoce también como svn por ser ese el nombre de la herramienta de línea de comandos.
      • Una característica importante es que, a diferencia de CVS , los archivos versionados no tienen cada uno un número de revisión independiente. Todo el repositorio tiene un único número de versión que identifica un estado común de todos los archivos del repositorio en cierto punto del tiempo.
      Qué es?
      • Se sigue la historia de los archivos y directorios a través de copias y renombrados.
      • Las modificaciones (incluyendo cambios a varios archivos) son atómicas.
      • La creación de ramas y etiquetas es una operación más eficiente; Tiene costo de complejidad constante y no lineal como en CVS.
      • Se envían sólo las diferencias en ambas direcciones.
      • Puede ser servido mediante Apache, sobre WebDAV/DeltaV. Esto permite que clientes WebDAV utilicen Subversion en forma transparente.
      • Maneja eficientemente archivos binarios.
      • Permite selectivamente el bloqueo de archivos.
      • Cuando se usa integrado a Apache permite utilizar todas las opciones que este servidor provee a la hora de autentificar archivos (SQL, LDAP, PAM, etc.).
      Características
      • El manejo de cambio de nombres de archivos no es completo. Lo maneja como la suma de una operación de copia y una de borrado.
      • No resuelve el problema de aplicar repetidamente parches entre ramas, no facilita el llevar la cuenta de qué cambios se han trasladado. Esto se resuelve siendo cuidadoso con los mensajes de commit. Esta carencia será corregida en la próxima versión (1.5).
      Carencias
    3. 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.
      • Subversion está construido sobre una capa de portabilidad llamada APR (Apache Portable Runtime), lo cual significa que Subversion debería funcionar en cualquier sistema operativo donde lo haga el servidor httpd Apache.
      • La manera más sencilla de obtener Subversion es descargando un paquete binario construido para su sistema operativo.
      • Alternativamente, usted puede compilar Subversion directamente a partir del código fuente.
      Instalación
    4. 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
    5. 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 …
    6. 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. $
    7. 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.
    8. 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.
    9. Modelos de versionado El problema: Solución Bloqueo:
    10. Solución copiar-modificar-mezclar:
    11. Conclusión Subversion nos hubiera ayudado a hacer el trabajo de una manera más eficiente.
    12. FIN.

    + Ixchel MuffinIxchel Muffin, 6 months ago

    custom

    486 views, 0 favs, 0 embeds more stats

    Para la clase de Sistemas y componentes computacion more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 486
      • 486 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 8
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories