Control de versiones con Subversion

Slides:



Advertisements
Presentaciones similares
Braulio Solano Rojas Director General de Solsoft de Costa Rica S.A.
Advertisements

CSS Rogelio Ferreira Escutia. 2 Hojas de estilo cascada, mayo 2010 Definición La hojas de estilo en cascada (en inglés.
Subversion (SVN) Sistema de Control de Versiones Sucesor de CVS
Centro de Intercambio de Información del Protocolo de Cartagena Guía de aprendizaje Recursos del CIISB.
Internet y tecnologías web
CUPS Configuración y Uso de Paquetes de Software
Sistemas de Control de Versiones
Base de Datos Distribuidas Bases de Datos II Universidad Argentina J. F. Kennedy - Año 2008 Maletin Yahoo => briefcase.yahoo.com Usuario => bd2_jfk Pssw.
Universidad Nacional Autónoma de Honduras
DIRECT ACCESS.
Tema 5 SRI Vicente Sánchez Patón I.E.S Gregorio Prieto
Propósito Introducción Tema Actividades de aprendizaje Actividades de aprendizaje El éxito fundamental de la web se basa en tres aspectos principales:
Yinette Domínguez Olivieri COSC A. A través de esta presentación se pretende informar sobre dos servicios que existen llamados Dropbox y Skydrive.
Compartir Informacion Compartir Hardware y Software
SISTEMA OPERATIVO CENTOS
Control de versiones con Subversion v1.0 © 2012.SOPORTE. DIS. Ronald De La Cruz Cueva Equipo de Soporte USMP.
Control de versiones con Subversion v1.1 © 2012.SOPORTE. DIS. Ronald De La Cruz Cueva Equipo de Soporte USMP.
Agenda Problemas Comunes
Uso del subversion desde el Eclipse y con google code 1.
TUTORIAL DE SUBVERSION
1 Víctor Aravena Díaz. 2 Objetivo Conocer sobre el uso de la gestión de la configuración. Utilizar SVN desde eclipse. SVN.
Control de Versiones con Subversión Versión Desarrolladores/Usuarios
Ingeniería del Software
Subversion (SVN) Sistema de Control de Versiones Sucesor de CVS.
Es un Sistema operativo de red. Es una de las plataformas de servicio más fiable para ofrecer acceso seguro y continuado a la red y los recursos de.
© Manuel ColladoVersiones-1 Control de versiones, configuración y cambios VCS: Version Control System SCM: Software Configuration Management.
Control de versiones usando PowerBuilder y Subversion
Control de versiones, configuración y cambios
DEFENSA PÚBLICA Jorge Salinas
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
DÍAZ OSCAR IVÁN HOYOS ANDRÉS FELIPE ORDOÑEZ JOSÉ LUIS INFORMÁTICA, SEMESTRE II.
Requerimientos No Funcionales
Maven Build & Deployment Part II
Introducción a los Conceptos de Bases de Datos Docente: Ing. Marleny Soria Medina.
1 Consigna 2006 UPV/EHU Consigna David Fernández Acin CIDIR Bizkaia Euskal Herriko Unibertsitatea / Universidad del País Vasco XXII.
Universidad de La Coruña Escuela Universitaria Politécnica Control de Procesos por Computador Diego Cabaleiro 24 de Noviembre 2009.
Eurostat Unit A6 – Statistical cooperation SDMX Seminar Seminario para contribuir a la modernización de la transmisión de datos y metadatos estadísticos.
Uso de TortoiseSVN Gerencia SCM.
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
Trabajo Visual SVN Server
3. Elaboración de un Portafolio Digital
Integrantes: Arce Diego Chiguano Cristian Freire Santiago Herrera Ernesto Padilla Lorena Paucar Juan Sosa Daniela Tarapués Damaris Uvidia Daisy Vargas.
Gestión de la Configuración (SCM)
Tecnologias Usadas.Net Framework LINQ WCF Subversion Clickonce Smart Client Deployment SQL Server Compact Edition. Visual Studio Express 2008.
Introducción a los Sistemas Operativos
Universidad Simón Bolívar Sistemas de Operación II (CI-4821) Intensivo 2014 MANEJADORES DE CONTROL DE VERSIONES David Prieto Karen Troiano
Norman SecureTide Potente solución de nube para detener el spam y las amenazas antes de que lleguen a su red.
Administración de Software Administración de Software / Casos Reales Pág 1 La seguridad físca PROGRAMACION CASOS DE LA VIDA REAL.
Concurrent Versions System Daniel Vergara C. Rodrigo Yañez Q.
Cloud Computing Grupo 4 de computación y programación
Servicio de sindicación
Gabriel Montañés León. RSS es el acrónimo de Really Simple Sindication (Sindicación Realmente Simple). Es un formato basado en el lenguaje XML que permite.
¿Qué es Google Docs? Google Docs es una sencilla pero potente suite ofimática, todo en línea. Nos permite crear nuevos documentos, editar los que ya teníamos.
V. INSTALACION DE SOFTWARE.
Anthony Villalba 1° “A”. ¿Qué es WordPress? Es un sistema de gestión de contenidos o CMS (por sus siglas en inglés, Content Management System) enfocado.
La administración de dominios
Jorge De Nova Segundo. SSH File Transfer Protocol (también conocido como SFTP o Secure File Transfer Protocol) es un protocolo del nivel de aplicación.
Integrantes: Pinto Valiente Jonathan Michelena Polo Diego Rumiche Inga Erika Schuler Zamora Jessy.
INSTITUTO TECNOLÓGICO SUPERIOR DE LIBRES Organismo Público Descentralizado del Gobierno del Estado de Puebla INGENIERÍA EN SISTEMAS COMPUTACIONALES INTEGRACIÓN.
D EFINICIÓN DE E STÁNDARES UTILIZADOS PARA PROGRAMACIÓN Y B ASES DE D ATOS C ONTROL DE VERSIONES Y SU IMPLEMENTACIÓN Jonathan Valencia – ADSI 05/10.
Luis Villalta Márquez Servicios SFTP/SCP. SFTP SSH File Transfer Protocol (también conocido como SFTP o Secure File Transfer Protocol) es un protocolo.
Una guía para comenzar a utilizar Subversion
Ingeniería de Software Andrés Salinas Bendeck
APACHE WEB SERVER El proyecto Apache Web Server es un desarrollo de software en colaboración, enfocado en crear una implementación de un servidor HTTP.
Unidad 4. Servicios de acceso remoto
Sistemas de Control de Versiones
UNIVERSIDAD TÉCNICA DE AMBATO Facultad de Ingeniería Civil y Mecánica TEMA: Almacenamiento Virtual Integrantes: Andrés Naranjo Andrés Núñez Segundo Semestre.
Guía rápida de instalación de Sakai Dr. David Roldán Martínez ASIC, Universidad Politécnica de Valencia.
Control de Versiones Utilizando SVN. ELO329 - Diseño y Programación Orientado a Objetos 2 Control de Versiones ”Se llama control de versiones a la gestión.
Primer Taller de desarrollo con Software Libre Posadas - Misiones José Luís Di Biase Héctor Daniel Sanchez
Transcripción de la presentación:

Control de versiones con Subversion Martín Gaitán y Pablo Martínez FCEFyN, Universidad Nacional de Córdoba Junio de 2007

Agenda Qué es Control de Versiones Qué es Subversion Diferencias con CVS, características y arquitectura Breve historia Vocabulario básico Infografía del proceso ante una 'modificación' Demostraciónes de diferentes clientes Recursos Preguntas y comentarios finales

¿Qué es Control de Versiones? 1/2 Gestión del desarrollo de cada elemento de un proyecto a lo largo del tiempo Proporciona: Mecanismo de almacenaje de cada elemento que deba gestionarse (archivos de código, imágenes, documentación...)‏ Posibilidad de añardir, modificar, mover, borrar... Historial de las acciones realizadas con cada elemento pudiendo volver a un estado anterior Otros: generación de informes de cambios, informes de estado, marcado con nombre identificativo, etc. Se utiliza un repositorio, donde se almacena la información de todo el desarrollo

¿Qué es Control de Versiones? 2/2 Útil para trabajar individualmente o en grupo Servidor local o remoto Permite desarrollos colaborativos, incluso concurrentemente! Todo equipo profesional de desarrollo de software lo utiliza

¿Qué es Subversion? Un software para control de versiones Fácil de usar Diseño simple, potente, seguro Software Libre y gratuito Licencia APACHE/BSD Tanto clientes y servidor, funcionan en muchos S.O. Incluídos GNU/Linux, Windows, Mac OS, etc.

Características relevantes (1/3)‏ Envíos atómicos Todos los cambios, o ninguno. Aporta seguridad en la integridad de los datos Versionado de directorios Se lleva un control de cambios a través del tiempo del directorio. Sistema de archivos “virtual ” que sigue los cambios sobre árboles de directorios completos a través del tiempo Verdadero historial de versiones Se puede añadir, borrar, copiar, y renombrar archivos y directorios. Cada fichero nuevo añadido comienza con un historial nuevo, limpio y completamente propio.

Características relevantes (2/3)‏ Elección de las capas de red Posee abstracción del acceso al repositorio Como módulo de Apache: Estabilidad e interoperabilidad Autenticación, autorización, compresión de la conexión, etc. Puertos estándar (administradores de red agradecidos)‏ Como servidor independiente (svnserve): Muy ligero, habla un protocolo propio. Puede ser encaminado fácilmente a través de un túnel SSH.

Características relevantes (3/3)‏ Manipulación consistente de datos Encuentra diferencias usando un algoritmo en modo binario Funciona idénticamente con texto o archivos binarios. Todos los tipos de archivos se guardan comprimidos en el repo. Ramificación y etiquetado eficientes El costo de crear una nuevas ramas (branch) o etiquetas (tag) no es proporcional al tamaño del proyecto Se usa un mecanismo similar al 'enlace duro' (“acceso directo”)‏ Totalmente reutilizable SVN está compuesto por bibliotecas compartidas en C con APIs claras. Hay implementaciones en distintos lenguajes (java, python, etc)‏

Arquitectura de Subversion

Breve historia Comenzado a principios de 2000 (CollabNet)‏ Objetivo: Mejorar CVS Versión 1.0 liberada en 2004 Contemplaba todas de las funcionalidades de CVS y muchas mejoras La versión actual es la 1.4.3 Grandes proyectos y empresas lo adoptaron KDE, GCC, Python, Samba, Mono, PuTTy, Zope, Plone, CUPS... Google y Sourceforge lo ofrecen como servicio ¿Y vos?...

El problema de compartir archivos ¿Cómo permitirá el sistema a los usuarios compartir información, pero al mismo tiempo impidiendo que se sobreescriban de forma accidental?

El problema de compartir archivos La solución bloqueo- modificación- desbloqueo El repositorio sólo permite a una persona modificar un archivo al mismo tiempo. Si 'Harry' ha bloqueado el archivo, entonces 'Sally' no puede hacerle cambios. Sólo puede leer el archivo y esperar a que lo desbloquee

El problema de compartir archivos Bloquear puede causar problemas de gestión Demoras innecesarias y pérdida de tiempo. Bloquear puede causar una serialización innecesaria Si los cambios no se solapan los usuarios podrían editar el archivo simultáneamente Bloquear puede causar una falsa sensación de seguridad Cuando hay una dependencia entre varios archivos, no se soluciona nada bloqueando sólo uno, ya que una dependencia puede cambiar y el proyecto pierde integridad.

El problema de compartir archivos La solución copiar- modificar-mezclar Se crea una réplica local del repositorio Los usuarios pueden trabajar en paralelo Finalmente, todas las copias privadas se combinan en una nueva versión final.

El problema de compartir archivos ¿Pero qué ocurre si los cambios de los usuarios se solapan? Se produce un conflicto Se puede resolver de tres formas: Editando manualmente las lineas conflictivas Eligiendo una de las versiones O deshaciendo todos los cambios locales

El problema de compartir archivos Conclusiones El tiempo en resolver los conflictos es mucho menor que el tiempo perdido por un sistema de bloqueos. Los usuarios pueden trabajar en paralelo, sin tener que esperarse el uno al otro. La mayoría de los cambios concurrentes no se solapan en absoluto; los conflictos son poco frecuentes Un factor crítico para la productividad: la comunicación entre los usuarios. ¡Hay que conversar con los compañeros!

Ciclo básico de trabajo 0) Crear copia local (checkout) Se puede especificar una revision o fecha particular 1) Actualizar la copia de trabajo (update)‏ Permite recuperar las ultimas modificaciones del repositorio 2) Hacer cambios Add, delete, copy, move 3) Examinar cambios status, diff, revert 4) Fusionar cambios merge, resolved 5) Enviar cambios (commit)‏ Requiere un mensaje 'log' que detalle las modificaciones hechas

Vocabulario básico 1/2 Copia de trabajo Check-out (co)‏ Commit (ci)‏ Es la copia local de los archivos de un repositorio, en un momento del tiempo o revisión específicos. Check-out (co)‏ Crea una copia de trabajo local desde el repositorio. Se puede especificar una revisión específica. Commit (ci)‏ Cuando una copia de los cambios hechos a una copia local es integrada sobre repositorio. Import Una importación es la acción de copiar un árbol de directorios local (que no es en ese momento una copia de trabajo) en el repositorio por primera vez.

Vocabulario básico 2/2 Actualizar (update)‏ Conflicto Resolver Una actualización integra los cambios que han sido hechos en el repositorio (por ejemplo por otras personas) en la copia de trabajo local. Conflicto Ocurre cuando se realizan dos cambios al mismo documento, y el sistema es incapaz de reconciliar los mismos. Resolver La intervención del usuario para atender un conflicto entre diferentes cambios al mismo documento.

Recursos Clientes Navegadores de repositorios Sistemas integrados TortoiseSVN (MS Windows)‏ Subclipse (plugin para Eclipse, multiplataforma)‏ RapidSVN (multiplataforma)‏ Qsvn (Linux/KDE)‏ muchos más... Navegadores de repositorios ViewVC WebSVN Sistemas integrados Trac: SVN+wiki+gestión de bugs

Más recursos Sitio oficial de Subversion http://subversion.tigris.org/ Libro libre 'Control de versiones con Subversion' http://svnbook.red-bean.com/ Hosting SVN gratuito http://code.google.com/hosting http://sourceforge.net ¿proximamente la facu? Dónde encontrar esta presentación En la página de la carrera http://www.efn.unc.edu.ar/escuelas/computacion/