slideshare para-facilred-1233512710253950-1
TRANSCRIPT
Introducción a Bazaar
Conceptos Básicos
Revisión
• Un punto en un arbol de directorios y archivos que incluye contenido y metadatos:
• Fecha de creacion• Autor• Mensaje de confirmacion• Revisiones anteriores• etc
Arbol de Trabajo
• Un arbol de directorios y archivos controlados por versiones que el usuario puede editar
• Se pueden usara varios comandos en el arbol de trabajo según el contexto– Ejemplo: commit crea una revision en el
arbol usando el contenido actual de los archivos
Branch
• Una serie ordena de revisiones• La ultima revision en el branch es conocida
como head• Un branch puede ser copiado en otro lugar y
luego ser fusionado de nuevo
Repositorio
• Almacén de revisiones• Por defecto, cada branch tiene su propio
repositorio– Para ahorrar espacio en disco y mejorar
rendimiento los branches pueden compartir repositorios
Usemos Bzr
Configurar Bazaar
• Dile a Bazaar quien eres:– bzr whoami “Juanito Pujon
<[email protected]>”• Verificamos:– bzr whoami Juanito Pujon <[email protected]>
Pidiendo Ayuda
• Tiene ayuda instalada, se puede listar todos los temas de ayuda– bzr help
• O podemos ver ayuda de un comando especifico xxx– bzr help xxx
Interfaz
Mi proyecto Personal
Solo Workflow
Empezar un Proyecto
• Versionar un directorio– cd mi_dir– bzr init – bzr add– bzr commit –m “Mi inicio de proyecto”
• Una copia de todo el directorio es archivada en el directorio .bzr
Resumen
• Comandos claves– init– add– commit– status– diff
Partner Workflow
Comandos Claves
• branch• merge• resolve• (commit)
Desarrollo en Equipo
Pushing Branches
• La manera mas facil de compartir un branch es ponerlo (push) en una ubicación compartida
• Usado comunmente con:– Servidores escribiendo via sftp
• Ejemplo:– bzr push sftp://server.con.acceso
Mejores Practicas
• Cada nueva funcionalidad o corrección es desarrollada en TU branch
• Solo subimos funcionalidades terminadas (el tamaño no es un parametro)
• Calidad• Trabajar en varias cosas en paralelo• Comentarios claros para commits
Como comentar
• Cada commit tiene un mensaje que debe ser claro.
• Politicas para comentarios– [IMP] prefijo para mejoras– [FIX] prefijo para correcciones– [MERGE] texto para merge
Ejemplos
• [IMP] creado formulario para tarea #3• [FIX] corregido metodo de validacion• [MERGE]
OpenERP y Bzr
• Todo el codigo de OpenERP esta en launchpad• Launchpad es un sitio para proyectos OSS
Donde esta ?• https://launchpad.net/openobject-addons : business application modules
https://launchpad.net/openobject-server : the frameworkhttps://launchpad.net/openerp-web : web modules and frontendhttps://launchpad.net/openobject-client: native interface for OpenERP (aka GTK client)
Bajemos el código
• Servidor– bzr branch lp:openobject-server/6.0
• Cliente– bzr branch lp:openobject-client/6.0
• Modulos– bzr branch sftp://IPGNUTHINK/proyectos/project
En Gnuthink
• Todos tenemos un branch de los modulos del proyecto
• Cada uno trabaja en su branch• Cuando este lista una funcionalidad commit• Todos los jueves push hacia el servidor• Viernes revisamos el trabajo en equipo