Primer Taller de desarrollo con Software Libre Posadas - Misiones José Luís Di Biase Héctor Daniel Sanchez Fernando Toledo
Presentación ● ¿Quiénes Somos? ● ¿Qué trabajos desarrollamos? ● Agenda ¿Nos Vacunamos?
Control de versiones ● ¿Usan un SCM(Source Control Manager)? ● ¿Qué es y para qué sirve un SCM? ● Versión de los archivos ● Almacenar el código fuente ● Registrar los cambios realizados ● Tener un histórico de las acciones ● Ver diferencias entre versiones ● Conocer quien hizo los cambios ● Ver documentación de los cambios ● Mantener diferentes versiones del mismo software
Control de versiones ● Opciones de SCM: ● CVS (Concurrent Versions System) – Obsoleto ● SVN (Subversion) ● SVK – Descentralizado, Optimizado ● GIT – Eficiente para grandes proyectos)
Control de versiones ● ¿Por qué debe usarlo? ● Hace posible el desarrollo de software de forma Descentralizada y Colaborativa. ● Es la máquina del tiempo de nuestro código. ● Copias de seguridad de nuestros proyectos. ● Facilita la auditoría y evolución del desarrollo. ● Estadísticas de programación (svnstats). ● Volver hacia versiones anteriores.
Control de versiones ● Conceptos ● Repositorio ● Módulo ● Tag (rótulo) ● Revisión ● Branch (rama) ● Checkout ● Conflicto (y resolución) ● Merge ● Importar ● Exportar ● Diff ● Update ● Commit
Subversion ● Características – Funcionalidad desde CVS – Commits atómicos – Cliente / Servidor – Multiplataforma ● Tortoise SVN, RapidSVN, CLI – Conectividad ● svnserve, Apache/Dav, Local – Simple de usar
Subversion Arquitectura
Seguimiento de Problemas ● Bugtracking / Tickets ● Reportes de estado ● Acceso online a repositorios ● Manejo de usuarios ● Wiki ● Estimación de tiempos
Seguimiento de Problemas ● Trac ● ● Bugzilla ● ● Mantis ●
Trac ● Simple y minimalista ● Hecho en Python ● Trabaja directo con SVN ● (Hay plugins para otros scm's) ● Wiki, Tickets, Timeline ● Extensible por Plugins ● Virtual Hosts ● Notificaciones por mail
PREGUNTAS
PRÁCTICA
¡MUCHAS GRACIAS!
Enlaces y Recursos