Subversion Sistema de control de versiones

Anuncio
Subversion
Sistema de control de versiones
Facultad de Ingeniería
Sistemas Embebidos en Tiempo Real
1
Agenda
Introducción
Características Generales
Funcionalidades
Ciclo de trabajo
Recursos
Otras herramientas
Sistemas Embebidos en Tiempo Real
2
Introducción
Que es un sistema de control de versiones?
−
Mantiene la historia del proyecto.
Por que usarlo?
−
Desarrollo Concurrente
−
Volver atrás
Backup (de todas las versiones)‫‏‬
−
Sistemas Embebidos en Tiempo Real
3
Características Generales
Distintos modos de funcionamiento
−
Cliente/Servidor
−
Standalone
Distintos niveles de seguridad
−
Acceso anonimo
−
Archivo de Claves
−
Integrada al sistema operativo
−
Encripción
Software Libre
Sistemas Embebidos en Tiempo Real
4
Conceptos
Copia de trabajo
Repositorio
Head:
Tag: etiqueta
Branch: bifurcación
Trunk: hilo principal
Merge: combinación
Sistemas Embebidos en Tiempo Real
5
Acciones
import: importar los archivos iniciales
checkout: obtener la primera copia de trabajo
commit: subir una nueva versión
add: agregar archivos
update: actualizar la copia de trabajo
tag: etiquetar una versión
branch: bifurcar el código
Sistemas Embebidos en Tiempo Real
6
Ciclo de Trabajo
Crear el repositorio (incluye configuración)‫‏‬
Importar los primeros documentos (en caso de
existir algunos de antemano)‫‏‬
Hacer el checkout (update si ya existía la copia
local)‫‏‬
Trabajar en la copia local de los archivos
Hacer commit
Sistemas Embebidos en Tiempo Real
7
Ciclo de Trabajo (casos especiales)‫‏‬
Conflicto en el commit:
−
Si otra persona hizo un commit de un archivo que
nosotros también modificamos commit da error.
−
En este caso hay que hacer el update del archivo,
combinarlo (merge) con el nuestro y luego hacer
commit.
Conflicto en el update
−
En caso de hacer update de un archivo modificado
el merge automático puede no resolver todas las
modificaciones.
Sistemas Embebidos en Tiempo Real
8
Ciclo de Trabajo (Branch)‫‏‬
Se llega a una versión estable
Se hace un tag de la versión
Se pone en producción
Se detecta un bug
Se hace un branch de la versión de producción
Se corrige el bug en esa versión
Se hace el merge con la versión en el Trunk
Idem con los sucesivos bugs
Sistemas Embebidos en Tiempo Real
9
Recursos
Página principal: http://subversion.tigris.org/
Libro: http://svnbook.red-bean.com/
Descarga:
http://subversion.tigris.org/project_packages.html
Clientes: http://subversion.tigris.org/links.html
−
En la seccion Clients and plugins
−
Para MSWin: tortoiseSVN.tigris.org
−
Para varios: SmartSvn (java) , RapidSVN
−
Linea de comandos incluída con la distro
Sistemas Embebidos en Tiempo Real
10
Generadores de Documentación
Doxygen: http://www.stack.nl/~dimitri/doxygen/
−
Sintaxis tipo javadoc
−
Fórmulas en latex
−
Distintos formatos de salida: html, pdf ..
−
Distintos lenguajes: C/C++, Java, Python, ...
−
Genera Diagramas simples
Ccdoc: http://ccdoc.sf.net
−
Solo c++, html
Sistemas Embebidos en Tiempo Real
11
Descargar