Control de versiones y Subversion José Luis López Pino Fco Javier Lucena Lucena.

Slides:



Advertisements
Presentaciones similares
Subversion (SVN) Sistema de Control de Versiones Sucesor de CVS
Advertisements

Instalación de Subversion Para instalar Subversion en Ubuntu, abrimos una terminal.
Sistemas de Control de Versiones
Control de versiones con Subversion
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
Control de Versiones con Subversión Versión Desarrolladores/Usuarios
Subversion (SVN) Sistema de Control de Versiones Sucesor de CVS.
© 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
Maven Build & Deployment Part II
Uso de TortoiseSVN Gerencia SCM.
Trabajo Visual SVN Server
Integrantes: Arce Diego Chiguano Cristian Freire Santiago Herrera Ernesto Padilla Lorena Paucar Juan Sosa Daniela Tarapués Damaris Uvidia Daisy Vargas.
TRABAJANDO CON CVS. Importar archivos al servidor CVS Una importación de archivos o directorios es crear una copia de ellos en el repositorio de nuestro.
Administración de Software Administración de Software / Casos Reales Pág 1 La seguridad físca PROGRAMACION CASOS DE LA VIDA REAL.
LSQA + Equipo Proyecto  Definir Proceso: A nivel de la Organización A nivel de Proyecto Actividades SQA: – Asegurar que el Producto cumple con los Requisitos.
Git {Control de Versiones} Daniel Lozano Carrillo.
SCM Cecilia Cedrés Braulio Zitto. Agenda Introducion Gestion de la configuracion SCMP Informe de estado 2 Julio de 2015.
Integrantes: Pinto Valiente Jonathan Michelena Polo Diego Rumiche Inga Erika Schuler Zamora Jessy.
Una guía para comenzar a utilizar Subversion
Ingeniería de Software Andrés Salinas Bendeck
Sistemas de Control de Versiones
María Fernanda González Aguilar 2°F. ¿Qué es una plataforma educativa virtual?  Una plataforma virtual, es un conjunto de aplicaciones informáticas de.
SOFTWARE LIBRE, OPEN SOURCE E HISTORIA DE LINUX TOVAR LÓPEZ IAN GUSTAVO PROFESOR RENÉ DOMINGUEZ ESCALONA ADMINISTRA SISTEMAS OPERATIVOS GRUPO 503.
Universidad Nacional del Sur Departamento de Cs. e Ing. de la Computación Bahía Blanca – Buenos Aires - ARGENTINA Sistemas de Gestión de Versiones.
Ing. De la Puente, Matias Sistema de control de versiones GIT
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.
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.
Proyecto ROOTVE V2: Control de versiones con Subversion Grupo de Investigación y Desarrollo en Seguridad de la Información - GIDSI.
PRESENTACIÓN DRUPAL Versión 0.1 Por Ricardo Chang.
Proyecto HL – Transmisor FM Asistentes: Ing. Alberto Medrano (Administrador) Colaboradores: ¿?
Primer Taller de desarrollo con Software Libre Posadas - Misiones José Luís Di Biase Héctor Daniel Sanchez
Sistemas de Control de Versiones (SCMs) Introducción a los conceptos de control de versiones Introducción a las herramientas darcs y svn Margarita Manterola.
1 /13 Repositorios online para Sironta Autor: Juan Aguilera Ramos Tutor: Jesús Gabaldón Estudios: Máster Universitario en Software Libre.
Es un visor y editor de documentos en línea a través del navegador web. Permite crear, compartir y editar presentaciones, hojas de cálculo, archivos de.
Ciclope Weather Web Services ● Que tenemos – – RSS: (No Web.
Administración de la configuración (SCM) Introducción Control de versiones Analisis y diseño USAC Por: Víctor Orozco
Computación e Informática Contabilidad Ing. Miguel Ángel Ramos Frías Word 2013.
Gestor de paquetes Instalar y eliminar software (GUI y consola)
Diseño y Desarrollo de Software
ALFRESCO.
It Hub CONTROLADOR DE VERSIONES Electiva I.
FORMACIÓN GIT “setting” a dalt!.
Manejo Básico de Google Drive
File Transfer Protocol (FTP)
GRUPO 18 GIT INTEGRANTES: JALDIN PANIAGUA LUIS MIGUEL
Legisoffice Versión 1.0..
Sistema de Control de Acceso
GNU LINUX APRENDIENDO A USAR LA TERMINAL ISC. HIRAM GUERRERO CASTILLO
¿Qué es un resumen? Un resumen es reducir el texto original a solo las ideas mas importantes o lo que es de interes para el lector.
Dropbox.
Aplicaciones de gmail.
Conalep plantel Zitácuaro 240
2.5 Seguridad e integridad.
COMO CREAR UN BLOG EN BLOGGER
R.A 2.1:EDITORES Y PROCESADORES DE TEXTO
It Hub CONTROLADOR DE VERSIONES Aplicaciones Web I.
Modulo 0: Administratrivia
Sistemas de control de versiones
A RQUITECTURA C LIENTE - SERVIDOR La arquitectura del cliente servidor se divide en dos partes Los promovedores de recursos o servicios llamados servidores.
Actividad 3 Hipervínculos Luis Alejandro Gómez Ramos Maestra: Adriana Ubiarco Tecnologías de la información I 1-A T/M BGC PREPA 10.
JAVIER RESTREPO TOVAR.
SERVICIOS DE ALMACENAMIENTO EN LA NUBE DE QUE SE TRATA El Almacenamiento en la Nube consiste en guardar archivos en un lugar de Internet. Esos lugares.
Funciones principales de Excel Online
Transcripción de la presentación:

Control de versiones y Subversion José Luis López Pino Fco Javier Lucena Lucena

Índice Introducción Clasificación Acciones Comunes Problema - Sobreescritura Conflictos Ramas Etiquetas (Tags) Manos a la Obra !

¿Qué es el control de versiones?

Repositorio Un repositorio, depósito o archivo es un sitio centralizado donde se almacena y mantiene información digital, habitualmente bases de datos o archivos informáticos Subversion es un repositorio en forma de árbol con una jerarquía de directorios y archivos.

Repositorio

¿Qué es el control de versiones? ”El control de versiones es el arte del manejo de los cambios en la información”. Gestiona archivos y directorios, y sus cambios a través del tiempo. Herramienta crítica para los programadores. Facilita volver a una versión anterior. Facilita el trabajo colaborativo. Se envían sólo las diferencias realizadas. El control de versiones no sólo es necesario para el software.

Clasificación

Clasificación: centralizados Un poco más sencillos de utilizar que los distribuidos. Se tiene un control total sobre las versiones. Limitaciones en el acceso. Puede haber menos conflictos a resolver. Ejemplos: CVS y Subversion.

Clasificación: distribuidos Se puede trabajar de forma local. Operaciones locales más rápidas, no se usa red. No necesitas permiso para participar en los proyectos. No se depende de una sola máquina física. Puedes seguir teniendo un control centralizado del proyecto. Ejemplos: Git, Bazaar y Mercurial.

Herramientas svnCliente de línea de comandos. svnversionEstado de la copia de trabajo. svnlookInspeccionar un repositorio. svnadminCrear, modificar o reparar repos. svnserveServidor.

Acciones comunes Revisión (revision): Es una “instantánea” del repositorio en un momento particular en el tiempo, cada vez que el servidor acepta un envío se crea una nueva revisión. Para identificarlas se utilizan números desde el 0. Copia de trabajo (working copy): Copia local y privada de los archivos y directorios del repositorio. A ella se incorporarán los cambios o pondrán a disposición los tuyos cuando tú se lo indiques.

Acciones comunes Crear copia de trabajosvn checkout Ver diferenciassvn diff Deshacer cambios localessvn revert Subir nueva versiónsvn commit Sincronizar con repos.svn update Mensajes de logsvn log Gestionar ficherossvn add | delete Copiar Moversvn move | copy Ver ficheros modificadossvn status ¡Ayuda! svn help

Estructura común del repositorio Hay maneras estándar recomendadas para organizar un repositorio. /trunkcontendrá la “línea principal” /branchescopias de las ramas /tagscopias de las etiquetas

Problema: sobreescritura

Solución parcial: bloqueo

Solución: mezclar

Conflictos Cuando se produce conflicto nos encontramos: filename.mine”Mi” archivo filename.rOLDREVVersión original de la mía. filename.rNEWREVVersión actual en el repos. $ svn update U INSTALL Actualizado G README Unido C bar.c ¡Conflicto! Updated to revision 46.

Solucionando conflictos Tenemos tres opciones: Fusionar el texto en conflicto “a mano” y marcar el conflicto como resuelto (svn resolved). Copiar uno de los ficheros temporales sobre su fichero de trabajo y marcar como resuelto. Eliminar cambios locales (svn revert).

Ramas Rama (branch): Línea de desarrollo que existe de forma independiente a otra, pero comparte una historia común si mira suficientemente atrás en el tiempo.

Ramas Subversion tiene comandos para ayudarle a mantener ramas paralelas de sus ficheros y directorios. Nos evitan duplicar cambios en varias ramas. Permiten mezclar y probar diferentes líneas de desarrollo en su trabajo diario.

Operaciones con ramas Crear una rama svn copy Unir dos fuentes svn merge Ver diferencias antes de unirsvn diff Trasladarnos a otra ramasvn switch

Etiquetas Al igual que las ramas, las creamos con svn copy Etiqueta (tag): Una etiqueta no es más que una instantánea (snapshot) del proyecto en un momento de tiempo. Realmente cada revisión ya es una instantánea, pero con las etiquetas le ponemos nombres más bonitos y pueden ser de sólo un subdirectorio. En subversion, una etiqueta es realmente una nueva rama que creamos y lo almacenamos en un lugar diferente (/tags) y no realizamos cambios en ella.

Clientes visuales RabbitVCS (Nautilus) KDESvn (Konqueror) TortoiseSVN (Windows) RapidSVN (Linux, Windows y MacOS) Cliente integrado con los distintos EDS.

Servidores externos

Libro Version Control with Subversion Control de versiones con Subversion Libre bean.com/

Crear directorio A ser posible en /home/nombre_usuario/aaa Con los subdirectorios /trunk Varios fichero hml, cpp, java Fichero originales del proyecto Trabajaremos sobre estos ficheros /branches /tags

Manos a la Obra ! Consola power ! If (svn - - version == error) Sudo apt-get install subversion else svn help do svn help while (lo_recuerdo_de_la_ presentacion);

Creando el repositorio svnadmin create /home/fran/repositorio_nuevo cd repositorio_nuevo ls -la cd..

Añadir ficheros al repositorio svn import aaa file:///home/fran/repositorio_nuevo file:///home/fran/repositorio_nuevo -m ”El primer import a mi repositorio” NOTA: Importar los archivos al repositorio no convierte al árbol original de directorios y archivos en una copia local. Los archivos originales no quedan bajo control de versiones. Es necesario hacer un checkout para obtener una copia local.

Copia local svn checkout file:///home/fran/repositorio_nuevo/trunk file:///home/fran/repositorio_nuevo/trunk copia_local cd copia_local # ficheros del repositorio # sobre los que trabajaremos Editar los ficheros

Copia local svn diff Aparece cada fichero modificado en la copia_local Cada linea modificada comienza con el simbolo + svn commit Deposita la nueva version del fichero en el repositorio svn update Sincronizar la copia_local con el repositorio

Copia local diff

Copia local

Revisiones HEAD # última revision en el repositorio BASE # en la copia de trabajo COMMITED #ultima revision con combio PREV # commited -1 svn log - - revision 1 svn diff - -revision PREV:COMMITTED index.html svn diff - - revision HEAD Compara copia_local con el repositorio

Ciclo básico de trabajo Actualizar copia local svn update Hacer Cambios svn add svn delete svn copy svn move Examinar tus cambios Svn diff

Ciclo básico de trabajo Rectificar algunos cambios svn revert Resolver conflictos svn merge svn resolve Enviar los cambios svn commit -m ”Mi mensaje indico cambio”

Ejercicio svn revert Modificar un fichero Usar el comando sobre el fichero Comprobar que el fichero vuelve al estado anterior.

Google code hosting Crear una cuenta en Gmail Enviar correo a code.google.com/hosting El nombre del proyecto: svnosl

Google code

Añadir un fichero.html con vuestro nombre con el siguiente codigo: Sheldon Cooper

Ejercicio Crear un función en el fichero hola.cpp, hacer uso de ella en el main.

Control de asistencia Modificar fichero asistencia.txt

Licencia Este tutorial tiene licencia GFDL, cuyo texto puedes obtener en Copyright © 2009 José Luis López Pino, Fco Javier Lucena Lucena. Se otorga permiso para copiar, distribuir y/o modificar este documento bajo los términos de la Licencia de Documentación Libre de GNU, Versión 1.2 o cualquier otra versión posterior publicada por la Free Software Foundation; sin Secciones Invariantes ni Textos de Cubierta Delantera ni Textos de Cubierta.