Control de Versiones con Subversion



Documentos relacionados
La tortuga y los documentos: Tortoise + Subversion

REPOSITORIOS. Ing. Ismael Castañeda Fuentes, MSc Grupo de Investigación UNBD Universidad Nacional de Colombia Marzo de 2011

Enginyeria del Software III ( ) CONTROL DE VERSIONES CON SUBVERSION. Roberto García Despatx EPS 3.15

Control de versiones con Subversion

Capacitación: Control de versiones con SVN

Programas que permiten gestionar un repositorio de archivos y sus distintas versiones Utilizan una arquitectura cliente-servidor

SUBVERSION Y SUBCLIPSE

GIT Dinahosting 3. Hola!

Tutorial: Primeros Pasos con Subversion

Control de Versiones Utilizando SVN

Contenido. Curso de subversion. Problemas comunes. Problemas: Situación: Introducción a los sistemas de control de versiones

Manual para el uso de GIT Los siguientes pasos indican el procedimiento para entrar a GIT y para agregar la llave pública.

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

Subversion: Desarrollo colaborativo

Control de Versiones

Tema 12 Control de versiones

Desarrollo de software en comunidad: Forja de código + Subversion (SVN)

Uso practico de CVS para control de versiones

Subversion (SVN) Sistema de Control de Versiones Sucesor de CVS

MONTAR GVSIG 1.9 EN ECLIPSE DESDE EL REPOSITORIO SVN. Eduardo Cristóbal

CVS Concurrent Versions System Manual de Usuario

UNIVERSIDAD PONTIFICIA COMILLAS Escuela Técnica Superior de Ingeniería (ICAI) 5º Ingeniería Informática Ingeniería del software II Curso 2009/10

Control de versiones con Mercurial, Bitbucket y SourceTree

Marcos de Desarrollo. Diseño e implementación de aplicaciones Web con.net

INGENIERÍA DE SOFTWARE ADMINISTRACION DE CONFIGURACIONES Rubby Casallas, Juan Pablo Quiroga, Andrés Yie

DOCENTES FORMADORES UGEL 03 PRIMARIA

MANUAL DE USUARIO Guía de Gestión de la Configuración con Subversion

Qué es un sistema de control de versiones y cómo afecta directamente en vuestra felicidad?

MANUAL DE LA APLICACIÓN HELP DESK

5. Composer: Publicar sus páginas en la web

Uso básico desde la propia página del sitio

Git The fast version control system

Guía de instalación y manejo de la Ficha Docente CONEAU Incentivos

Descarga, instalación y uso de herramientas:

Administración de la producción. Sesión 10: Gestor de Base de Datos (Access)

Eclipse. Eclipse es un armazón (workbench) sobre el que se pueden montar herramientas de (JDT, CDT, PDT, ).

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

TortoiseSVN: Manual de usuario

Páginas web ::: Edición web en línea con Kompozer Diseño de materiales multimedia. Web Edición web en línea con Kompozer

Manual Básico de Helm 4.2 para Usuarios:

Unidad Didáctica 12. La publicación

Aplicateca. Manual de Usuario: Ilion Factura Electrónica. Espíritu de Servicio


CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP

Herramienta de Control de Versiones : Elisa Herrmann Ingeniería del Software de Gestión. Subversion

Guía de instalación y manejo de la Ficha Docente CONEAU Incentivos

SDR (Sistema de Respaldo) v2.02

Instructivo para descarga del código fuente

Copia de Seguridad en windows

GUIA DE CONFIGURACION MULTIUSUARIO

F-Secure Anti-Virus for Mac 2015

Acceso mediante clientes

Manitowoc Foodservice

Guia de Instalación de un servidor para Gerencia y Gestión de Sistemas de información:

SEPARAR Y ADJUNTAR UNA BASE DE DATOS. Separar una base de datos

Instalación de FileZilla FTP Server

Subversion personal. Para qué sirve Subversion?

Sistemas de Control de Fuentes. Website

1. Creación del repositorio

Contenido. cursos.cl / Teléfono:

GUÍA DE USUARIO DEL CORREO

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

MANUAL PARA GESTIÓN DE INCIDENCIAS INFORMÁTICAS

GVisualPDA Módulo de Almacén

CREACIÓN DEL PRIMER PROYECTO EN mikrobasic PRO for AVR

Instantáneas o Shadow Copy

El Zen de git. Un taller de introducción al uso de git del humilde sensei Psicobyte para la honorable Oficina de Software Libre de la UGR.

MANUAL SINCRONIZADOR LEKOMMERCE FACTUSOL

SOFTWARE DE RECUENTO DE DINERO

Programa Una laptop por niño

Gestión de Cambios de BDD con LiquiBase. ISC Abril 2012 Paulo Clavijo Esteban

Escudo Movistar Guía Rápida de Instalación Para Windows

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. IIC1102 Introducción a la Programación

Manual de Usario de XEDIGenerator Instalación

Manual de usuario del plugin RM-ODP para MDT Papyrus

Autor: Microsoft Licencia: Cita Fuente: Ayuda de Windows

Manual SAAE México 2012 EMPRESAS Manual para Software de Administración de Alumnos y Egresados

Al descomprimir su archivo en una carpeta podrá observar los documentos:

Cuadernillo de Autoaprendizaje Correo Electrónico Microsoft Outlook Express

Apéndice 5 Manual de usuario de ColeXión. ColeXión 1.0. Manual de usuario

Subversion en Eclipse

Interfaz Web de Correo

Jornadas de Introducción a la Ingeniería + Trabajo en Grupo = Herramientas de Gestion de Proyectos Software

Qué es un servicio de Proxy?

GUIA DE USO WEBMAIL. La dirección para ingresar al Webmail (IMP) de la Universidad de Montevideo es la siguiente:

10. El entorno de publicación web (Publiweb)

Sistemas de archivos distribuidos. Alvaro Ospina Sanjuan

GUÍA INSTRUCTIVA PARA INGRESO DE CONTENIDOS EN SITE BUILDER INDEX

LA INFORMÁTICA EN EL AULA

MANUAL DE SHAREPOINT Por: Área de Administración de Aplicaciones.

Toda base de datos relacional se basa en dos objetos

Manual de INTRANET. Introducción Objetivo de este Manual Convenciones y estándares a utilizar Convenciones de formato de texto...

Transcripción:

Ingeniería del Software I Fa.M.A.F., Universidad Nacional de Córdoba 12 de agosto de 2009

Esquema de la charla El Proceso de Software El Proceso de Software Configuration Management Control de Versiones 1 El Proceso de Software El Proceso de Software Configuration Management Control de Versiones 2 Características 3 Ciclo de Trabajo en el Proyecto

El Proceso de Software El Proceso de Software El Proceso de Software Configuration Management Control de Versiones A dónde estamos parados? Software Process Product Engineering Process Process Management Process Development Process Project Management Process Software Configuration Management Process

El Proceso de Software El Proceso de Software Configuration Management Control de Versiones El Proceso de Software Configuration Management Administración de los productos de los distintos procesos (código, manuales, documentos, etc.). Elementos: Identificación de los ítems del sistema. Control de los cambios de estos ítems. Registro del estado de los ítems y de los pedidos de cambio. Verificación de la correctitud y completitud de los ítems. Subprocesos: Control de Versiones, Bug Tracking, Build Management, etc.

Control de Versiones El Proceso de Software El Proceso de Software Configuration Management Control de Versiones Elemento clave del Software Configuration Management. Administración de las distintas versiones del software y los cambios que se le realizan. Características: Guarda todas las versiones y la historia de cambios realizados (es una máquina del tiempo). Administra releases (entregas) y branches (ramificaciones) del desarrollo. Administra el trabajo en equipo proveyendo locks y/o integrando los cambios (merging). Herramientas: CVS,, otros. Plugins para IDEs como Eclipse y Netbeans. GUIs (Cervisia) e interfaces Web (Trac).

: Características 474 65 Historia: Creado por CollabNet Inc. en el 2000. Creado en base a la experiencia con CVS. Es su sucesor. Hoy parte de Tigris.org (Open Source). Características principales: Cliente-servidor: Un repositorio de donde se bajan copias locales de trabajo. Multiusuario: Integra automáticamente cambios simultáneos.

: Características Características Los usuarios trabajan sobre copias locales. Cuando realizan los cambios deseados, suben al repositorio la nueva versión (commit). Permite trabajo simultáneo de varios usuarios sobre los mismos archivos: Antes del commit, se integran los cambios de los otros usuarios en la copia local (merge). Si hay conflictos, se informa al usuario para que los resuelva. Cada commit es atómico: o se sube todo o no se sube nada.

: Características Características Cada versión (= revisión) se identifica con un número. Empieza de 0 y se incrementa una vez por cada commit. Global revision numbers: Un mismo número para todos los archivos del repositorio. Versiona creación, movimiento y copia de carpetas y archivos. Versiona tanto archivos de texto (código fuente, etc.) como binarios (imágenes, etc.).

: Características Características Tags: Se pueden crear aliases (tags) para las revisiones. Branches: Se pueden crear nuevas ramas de desarrollo. Dos patrones de uso: Release branches: una rama por release, mantenidas paralelamente. Feature branches: una rama principal estable y otras con features inestables. Se pueden integrar cambios entre ramas (merging).

Ciclo de Trabajo en el Proyecto 1 Elegir ubicación y nombre. Ejemplo: en el home con nombre svn (repositorio personal). 2 Crear el repositorio. # cd; svnadmin create svn 3 Importar los archivos que quiera empezar a versionar. # svn import proyecto file:///home/francolq/svn/proyecto -m"primer import proyecto" 4 Borrar los archivos importados. # rm -rf proyecto 5 Bajar los archivos del repositorio. # svn checkout file:///home/francolq/svn/proyecto

Ciclo de Trabajo Ciclo de Trabajo en el Proyecto 1 Actualizar copia local. # svn update 2 Trabajar sobre la copia local. Modificar archivos con los programas usuales. Agregar, eliminar, mover y copiar archivos y directorios: # svn [add remove mv cp] PATH... 3. # svn status # svn diff PATH... 4 Hacer merge con los cambios de otros (y resolver conflictos). # svn update # svn resolve 5 Subir cambios al repositorio (commit). # svn commit -m"cambie esto y aquello y aquello."

Ciclo de Trabajo en el Proyecto No requiere conexión con el repositorio. Vista general: # svn status? util.pyc # el archivo no esta versionado M main.py # el archivo ha sido modificado A util.py # el archivo se agendo para ser agregado Detalles de cambios en un archivo: # svn diff main.py Index: main.py =================================================================== --- main.py (revision 1) +++ main.py (working copy) @@ -1 +1,4 @@ +import util + +util.init() print "Hola mundo!"

Comandos Útiles Ciclo de Trabajo en el Proyecto El más importante de todos: # svn --help # svn <subcommand> --help Arrepentirse de cambios locales (volver a última versión): # svn revert PATH... Declarar resuelto un conflicto: # svn resolved PATH Hacer tag de una versión (por ejemplo para marcar una release): # svn copy file:///home/francolq/svn/proyecto file:///home/francolq/svn/proyecto/tags/release-1.0

en el Proyecto Ciclo de Trabajo en el Proyecto El repositorio ya viene creado y vacío. La URL del repositorio es de la forma https://kali.famaf.unc.edu.ar/2009/is/grupoxx/svn reemplazando XX por el número de grupo. Estructura recomendada: proyecto/trunk proyecto/branches proyecto/tags # tronco principal de desarrollo # probablemente no lo usemos # para las releases Se debe hacer un checkout, crear la estructura del proyecto, luego eliminar la copia local y bajarse sólo el tronco : svn checkout --username USUARIO URL proyecto (el resto queda como ejercicio)

en el Proyecto Ciclo de Trabajo en el Proyecto Ignorar los *.pyc: 1 Abrir ~/.subversion/config. 2 Buscar global-ignores. 3 Agregar el patrón *.pyc: global-ignores = *.o...*.rej *.rej.*~ *~.#*.DS_Store *.pyc Agregar muchos archivos a la vez: 1 Poner los archivos en la copia local. 2 svn add --force. (no svn add * porque entran los pyc) 3 svn commit -m"agrego archivos generados por django." Usar Trac para navegar el repositorio y ver la historia de revisiones.

Ciclo de Trabajo en el Proyecto Fin Gracias!