La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Sistema de control de versiones CVS y Subvesion. Definición: Control de versiones Un sistema de control de versiones es un sistema de gestión de múltiples.

Presentaciones similares


Presentación del tema: "Sistema de control de versiones CVS y Subvesion. Definición: Control de versiones Un sistema de control de versiones es un sistema de gestión de múltiples."— Transcripción de la presentación:

1 Sistema de control de versiones CVS y Subvesion

2 Definición: Control de versiones Un sistema de control de versiones es un sistema de gestión de múltiples revisiones de la misma unidad de información. Las características deseables que debe tener son las siguientes: ● La gestión automática de los cambios que se realizan sobre uno o varios ficheros. ● Permitir la restauración de cada uno de los ficheros a un estado anterior. ● Permitir la colaboración de diversos programadores en el desarrollo de un proyecto. ● Los programadores involucrados en el proyecto pueden estar en distintos lugares.

3 Nomenclatura ● Repositorio: Copia maestra donde se guardan los distintos ficheros y sus revisiones que conforman uno o varios proyectos. ● Copia de trabajo: Copia que hace cada usuario para trabajar de forma local sobre el proyecto. ● Conflicto: Situación que se produce cuando dos usuarios modifican la misma parte de un mismo fichero al mismo tiempo. ● HEAD: estado del repositorio actual (tiempo 0). ● BASE: estado del repositorio en el momento de hacer la última actualización local.

4 Modelos Existen distintos modelos dentro de los scv: ● Exclusivo: Se utiliza la técnica de bloqueo de fichero. Un usuario bloquea el fichero que va a modificar de forma que sólo él tiene acceso de escritura hasta que envía la modificación (o no) y lo libera. El problema de este modelo es que si un fichero se queda bloqueado durante un periodo largo de tiempo tienta al resto de usuarios a modificar el archivo en local y olvidarse del repositorio. ● Colaborativos: Varios usuarios se descargan una copia y trabajan sobre dicha copia de trabajo. Al enviar las distintas modificaciones el sistema las mezcla automáticamente. El problema viene cuando hay conflictos entre las modificaciones de distintos usuarios que deben ser resueltas manualmente.

5 CVS Cvs es un sistema de control de versiones con licencia GPL 2 o superior. Los pasos a seguir para utilizar cvs son: ● Crear un repositorio. ● Importar un modulo/proyecto. ● Cada usuario del sistema debe bajarse una copia de trabajo. ● Actualizar, enviar modificaciones, etc

6 Características ● Versiona cada fichero por separado dándole un número independiente. ● Protocolos de acceso al repositorio bastante limitado. ● No trata a los directorios como tal (archivos especiales) y por tanto no mantiene un histórico. Para eliminarlos hay que hacer poda de directorios vacíos.

7 Demostración cvs DEMO

8 Subversion Subversion es un sistema de control de versiones diseñado para reemplazar a cvs, tiene licencia tipo Apache/BSD. A principios de 2000, CollabNet, Inc. empezó a buscar desarrolladores para empezar a programar un scv desde cero, el problema era que ellos utilizaban cvs pero este scv tenía muchos problemas. La idea era solventar todos esos problemas pero manteniendo la misma filosofía de trabajo que cvs.

9 Ventajas de subversion vs cvs ● Versionado de directorios. ● Historial de versiones real. Es capaz de arrastrar el historial ante cambios en la estructura de ficheros y directorios (por ejemplo al mover un archivo de sitio o al renombrarlo.) ● Envíos atómicos. Esto significa que los envíos de modificaciones de varios archivos se harán como una transacción, o todo o nada. Evita problemas de inconsistencia ante fallos de la conexión. ● Historial de metadatos en archivos. ● Opción de elegir el protocolo de acceso al repositorio. Es posible implementar nuevos sistemas de acceso, por ejemplo se puede acceder mediante protocolo http colgando el repositorio en un servidor web y aprovechar así todas sus ventajas (autentificación, compresión de datos, etc). A parte implementa igual que cvs un servidor que puede ser accedido mediante su protocolo o tunelizarlo por ssh. ● Puede reconocer las diferencias tanto en archivos binarios como en archivos de texto. ● Eficiente sistema de etiquetado y gestión de ramas. ● Al estar programado en C desde 0 es fácilmente mantenible de forma que podemos programar añadidos o modificarlo de manera sencilla.

10 Demostración subversion DEMO

11 Preguntas ¿Pegas? ¿Dudas? ¿Traumas?

12 Licencia Este documento está licenciado bajo esta licencia de creative commons.esta licencia


Descargar ppt "Sistema de control de versiones CVS y Subvesion. Definición: Control de versiones Un sistema de control de versiones es un sistema de gestión de múltiples."

Presentaciones similares


Anuncios Google