SlideShare una empresa de Scribd logo
1 de 8
Descargar para leer sin conexión
Bazaar la herramienta para
el control de versiones de
forma distribuida
Un sistema de control de versiones es el encargado de la gestión de los diversos
cambios que se realizan sobre los elementos dentro el desarrollo de un producto
software o en las configuraciones del mismo.

                                                        Llevar un historial de los cambios
                                                    ✔
                                                        en cada elemento del proyecto y
                                                        anotar el autor de los cambios. Cada
                                                        uno de los cambios se denomina
                                                        revisión.
                                                        Posibilidad de añadir, borrar, mover
                                                    ✔
                                                        o editar los elementos.
                                                        Capacidad de gestionar ramas de
Introducción                                        ✔
                                                        desarrollo paralelas a la principal.
Los sistemas de control de versiones , en la
                                                        Gestión de conflictos, en el caso de
                                                    ✔
actualidad se han convertido en un elemento
                                                        que más de un usuario cambie un
indispensable en el proceso de desarrollo de
                                                        elemento del proyecto.
un producto software; de igual forma se
                                                        Generación de informes de estado,
convierten en un aliado importante de la            ✔
                                                        donde se muestren las diferencias
ingeniería de software en la tarea de
                                                        entre distintas revisiones.
conseguir como resultado un producto de
software de calidad.
                                                  Clasificación
Los sistemas de control de versiones desde
sus inicios fueron utilizados principalmente en
                                                        Centralizados: existe un repositorio
la industria informática, pero hoy en día estos     ✔
                                                        centralizado de todo el código, del
sistemas son utilizados tanto por industrias
                                                        cual es responsable un único usuario
como por desarrolladores individuales,
                                                        (o conjunto de ellos). Se facilitan las
considerando que estos últimos le dieron
                                                        tareas administrativas a cambio de
más dinamismo a su desarrollo y evolución.
                                                        reducir la potencia y flexibilidad, pues
Los sistemas de control de versiones se                 todas las decisiones fuertes (como
constituyen en un buen complemento a los                crear una nueva rama) necesitan la
sistemas de backups.                                    aprobación del responsable.
                                                        Distribuidos:       se    aumenta      la
                                                    ✔
Características de                        un            capacidad de decisión distribuida,
                                                        característica     que    dará      mayor
sistema de control                        de            flexibilidad en el uso, pero en algunos
versiones                                               casos        puede       dificultar    la
                                                        sincronización.
       Gestionar el almacenamiento de
   ✔
       cada uno de los elementos del                ✔
       proyecto.
Módulo: Conjunto de directorios y/o
Funcionamiento                                     ✔
                                                       archivos dentro del repositorio que
Todos los sistemas de control de versiones             pertenecen a un proyecto común.
se basan en disponer de un repositorio, que
                                                       Rótulo: Identificador asignado a un
                                                   ✔
es el conjunto de información gestionada por
                                                       módulo o fichero, asignado en un
el sistema. Este repositorio contiene el
                                                       momento determinado, orientado a
historial de versiones de todos los elementos
                                                       una búsqueda posterior.
gestionados.
                                                       Revisión: Una revisión es una versión
                                                   ✔
Cada uno de los usuarios puede crearse una
                                                       determinada de un archivo.
copia local duplicando el contenido del
repositorio para permitir su uso. Es posible           Línea base: Una revisión aprobada
                                                   ✔
duplicar la última versión o cualquier versión         de un fichero, a partir del cual se
almacenada en el historial. Este proceso se            pueden         realizar     cambios
suele conocer como check out.                          subsiguientes.
Al momento de realizar modificaciones en la            Injertar rama o branch: Un módulo
                                                   ✔
copia local existen dos alternativas:                  puede ser branched o bifurcado en un
                                                       momento dado, de forma que, en
       Exclusivos: para poder realizar un
   ✔
                                                       adelante, dos copias de esos ficheros
       cambio es necesario marcar en el
                                                       puedan ser desarrolladas a diferentes
       repositorio el elemento que se desea
                                                       velocidades o de diferentes formas,
       modificar y el sistema se encargará
                                                       de modo independiente.
       de impedir que otro usuario pueda
       modificar dicho elemento.                       Check-out: Permite crear una copia
                                                   ✔
                                                       de trabajo local desde el repositorio.
       Colaborativos: en el que cada
   ✔
                                                       Se puede especificar una revisión
       usuario se descarga la copia, la
                                                       específica, por defecto se suele
       modifíca        y       el       sistema
                                                       obtener la última.
       automáticamente mezcla las diversas
       modificaciones. El principal problema           Commit o check-in: Los cambios
                                                   ✔
       es la posible aparición de conflictos           realizados localmente son escritos o
       que     deban      ser     solucionados         integrados sobre el repositorio.
       manualmente        o     las     posibles
                                                       Conflicto: Un conflicto ocurre cuando
                                                   ✔
       inconsistencias      que     surjan    al
                                                       el sistema es incapaz de fusionar los
       modificar el mismo fichero por varias
                                                       cambios, algunas veces precisa
       personas no coordinadas. Esta
                                                       intervención manual.
       semántica no es apropiada para
                                                       Cambio: Un cambio representa una
       ficheros binarios.                          ✔
                                                       modificación específica a un fichero
Tras realizar la modificación es necesario
                                                       bajo control de versiones.
actualizar el repositorio con los cambios
                                                       Lista de cambios: Son listas que
realizados. Habitualmente este proceso se          ✔
                                                       identifican una serie de cambios a
denomina commit, check in.
                                                       realizarse en un solo commit. Útil al
                                                       momento de revisar un cambio a
Conceptos a considerar al                              partir de un identificador.
momento de utilizar un                                 Exportación: Similar a un check-out,
                                                   ✔
control de versiones                                   crea un árbol de directorios limpio sin
                                                       los metadatos de control de versiones
       Repositorio: Es el lugar en el que se           presentes en la copia de trabajo. Se
   ✔
       almacenan los datos actualizados e              utiliza a menudo de forma previa a la
       históricos, a menudo un servidor                publicación de los contenidos.
       (proceso centralizado), el PC de los
                                                       Importación: Una importación es la
                                                   ✔
       desarrolladores (proceso distribuido)
                                                       acción de copia un árbol de
directorios local (que no es en ese             Amigable: Orientado principalmente a
                                                   ✔
       momento una copia de trabajo) en el             personas que recién empiezan a
       repositorio por primera vez.                    hacer uso de este tipo de
                                                       herramientas,               enfocado
       Integración      o     fusión:      Una
   ✔
                                                       principalmente a la usabilidad y
       integración o fusión une dos conjuntos
                                                       eficiencia.
       de cambios sobre un fichero o un
       conjunto de ficheros en una revisión            Elegante: Soporta el renombrado de
                                                   ✔
       unificada de dicho fichero o ficheros.          archivos y directorios
       Actualización: Integra los cambios              Rápido: Permite obtener rápidamente
   ✔                                               ✔
       que han sido hechos en el repositorio           sus ventajas y características sin
       (por ejemplo por otras personas) en la          afectar al proceso de desarrollo.
       copia de trabajo local.
                                                       Eficiente: Su almacenaje utiliza un
                                                   ✔
       Copia de trabajo: La copia obtenida             formato altamente eficiente y limpio.
   ✔
       desde el repositorio en el área de
                                                       Ligero: No precisa tener un servidor
                                                   ✔
       trabajo local, se la realiza en un
                                                       dedicado
       momento del tiempo o revisión
                                                       Extensible: Posee una arquitectura
       específica                                  ✔
                                                       basada en plugins, aspecto que
       Congelar: Representa permitir los
   ✔
                                                       permite      dotarle    de    mayores
       últimos cambios (commits) para
                                                       características especificas y acorde a
       solucionar las fallas a resolver en una
                                                       cada necesidad.
       entrega     (release)    y   suspender
                                                       Embebido: Característica que le
       cualquier otro cambio antes de una          ✔
                                                       permite estar presente en una serie
       liberación, con el fin de obtener una
                                                       de aplicaciones y servicios libres y/o
       versión consistente.
                                                       comerciales.
                                                       Seguro:      Al  margen  de     las
Qué es Bazaar?                                     ✔
                                                       características que posee por si
Bazaar es un sistema de control de                     mismo, cuenta con el patrocinio de
versiones distribuido, de origen open source.          Canonical tanto para su desarrollo
                                                       como para su suporte
                                                       Libre: Disponible bajo licencia GPL.
                                                   ✔


                                                 Beneficios de un sistema de
                                                 control     de    versiones
                                                 distribuido

                                                 Trabajo personal
                                                       Posibilidad de revertir una revisión
                                                   ✔
                                                       previa
                                                       Facilitar la revisión de nuestro propio
                                                   ✔
                                                       código (antes del commit)
Por qué Bazaar?                                        Sincronización de múltiples maquinas
                                                   ✔

       Adaptable: Orientado a la mayoría de
   ✔
       los trabajos de desarrollo de software
       (local y/o remoto).
Desarrollo colaborativo                        Poniendo a prueba a Bazaar
       Un desarrollador puede trabajar sin     Para lograr un mejor entendimiento, de todas
   ✔
       interferir con el trabajo de otros      las características y funcionalidades que
       desarrolladores                         dispone Bazaar, basaremos nuestro ejemplo
                                               considerando el siguiente directorio y
       El proceso de fusión es automatizado
   ✔
                                               contenido:
       en su generalidad.
       Instalación
   ✔


Que precisamos
Bazaar es un software que puede ser
instalado en varias plataformas mediantes
sus respectivos gestores de paquetes:
       Debian, Ubuntu (apt-get)
   ✔

       RHEL, CentOS, Fedora (yum)
   ✔

       Windows, posee un isntalador
   ✔

       Mac OS X (MacPorts).
   ✔


Identificación Inicial
Antes de comenzar a trabajar es recomendable identificarse, haciendo conocer nuestro nombre
y email:




Verificación de Identificación
Esto permitirá modificar el archivo de
configuración, modificación que puede ser
verificada de la siguiente forma:


                                               Esto ha hecho que Bazaar cree un branch
                                               donde almacenará los ficheros y el histórico
                                               de revisión de los mismos. (crea un directorio
                                               oculto con una serie de subdirectorios y
Inicializar          el   control      de      archivos que le permiten mantener el control
versiones                                      y registro de archivos y tareas realizadas, el
                                               contenido es mostrado en la figura siguiente)
Inicializamos el control de versiones de
nuestro directorio
Deshacer cambios
                                                Esta característica puede darse en tres casos
                                                distintos:


                                                Desversionando un archivo




                                                Deshacer el último commit




Poniendo ficheros bajo el
control de versiones
Ahora es momento de ir añadiendo los
ficheros y directorios de los cuales queremos
                                                Deshacer todos los cambios
mantener un control de versiones.
                                                desde el ultimo commit:
                                                El deshacer los cambios pueden ser globales
                                                o de forma especifica de algún archivo.




Registrando los cambios
                                                Realizando    cambios                      en
Bazaar nos permite realizar este registro
                                                nuestros archivos
tanto a nivel global (todo el árbol de
directorios) como a nivel especifico (solo      Ahora procederemos a realizar algunos
ficheros determinados)                          cambios en alguno de nuestros archivos
                                                (cuadrado.py) y verificar las diferencias con la
                                                versión registrada.
Visualizando el estado de
                                                 archivos




                                                 Visualizando el historial de
                                                 revisiones
Una vez que los cambios se hayan realizado
podemos proceder a registrar el cambio en
nuestro branch mediante un commit, es
recomendable incluir un mensaje descriptivo
en cada commit.




Publicando el branch con sftp
Precisamos tener instalado y configurado un servidor SFTP, que servirá como plataforma de
publicación.      Asumiremos       que    nuestro     branch     será    publicado     en
http://proyecto.dominio.com/repositorio:




Esto hace que Bazaar cree el directorio repositorio y dentro de el coloque el branch de nuestro
proyecto.
Creando una nueva rama (branch)
Muchas veces es necesario trabajar sobre ramas publicadas por otros desarrolladores; para
esto podemos traer una copia de la publicación que hicimos anteriormente y crear una nueva
rama dentro nuestro proyecto.




Combinando ramas
Dentro del desarrollo podemos contar con varias ramas, cada una con ciertas modificaciones;
en caso que quisiéramos combinar nuestra copia de trabajo con una rama en especial,
podemos hacer un merge de la siguiente forma.




En caso de desear registrar estos cambios en nuestro repositorio local deberemos hacer un
commit.


Distribuir nuestros proyectos
Antes de empezar a distribuir los archivos de nuestro desarrollo, podemos etiquetarlos para
mantenerlo en el registro y posteriormente empaquetarlos.


Etiquetado




Empaquetado
GUIs de ayuda                                    Ganotate
Bazaar dispone de una serie de GUIs que
permiten realizar varias de la tareas de forma
gráfica.



Gbranch




                                                 Gcommit

Gdiff




Visualize                                        Referencias
                                                 [1]    http://bazaar-vcs.org/
                                                 [2]    http://bazaar-vcs.org/Documentation


                                                 Autor



Anotate



                                                 Esteban Saavedra López
                                                 Líder de la Comunidad ATIX (Oruro – Bolivia)
                                                 Activista de Software Libre en Bolivia
                                                 jesaavedra@opentelematics.org
                                                 http://jesaavedra.opentelematics.org

Más contenido relacionado

La actualidad más candente

 Diagramas uml de sistema de cajero automático
 Diagramas uml de sistema de cajero automático Diagramas uml de sistema de cajero automático
 Diagramas uml de sistema de cajero automáticoItzel656131
 
Los sistemas operativos de Red
Los sistemas operativos de Red Los sistemas operativos de Red
Los sistemas operativos de Red ANDINO2017
 
Factores y métricas que determinan la calidad de un
Factores y métricas que determinan la calidad de unFactores y métricas que determinan la calidad de un
Factores y métricas que determinan la calidad de unLuis Angel Davila Elias
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidosVictor Milano
 
51036806 proyecto-ejemplo-ingenieria-de-software
51036806 proyecto-ejemplo-ingenieria-de-software51036806 proyecto-ejemplo-ingenieria-de-software
51036806 proyecto-ejemplo-ingenieria-de-softwareMiguel Angel Rodriguez
 
Desarrollo de software basado en lineas de productos
Desarrollo de software basado en lineas de productosDesarrollo de software basado en lineas de productos
Desarrollo de software basado en lineas de productosJOSEPHPC3000
 
Métrica de punto de función y lineas de codigo
Métrica de punto de función y lineas de codigoMétrica de punto de función y lineas de codigo
Métrica de punto de función y lineas de codigoJesús E. CuRias
 
Sistemas operativos distribuidos.
Sistemas operativos distribuidos.Sistemas operativos distribuidos.
Sistemas operativos distribuidos.Daniela Velasquez
 
Origen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redesOrigen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redesKim Sorel Rush
 

La actualidad más candente (20)

cliente servidor
cliente servidorcliente servidor
cliente servidor
 
9.diseño de la arquitectura
9.diseño de la arquitectura9.diseño de la arquitectura
9.diseño de la arquitectura
 
Rup
RupRup
Rup
 
 Diagramas uml de sistema de cajero automático
 Diagramas uml de sistema de cajero automático Diagramas uml de sistema de cajero automático
 Diagramas uml de sistema de cajero automático
 
Los sistemas operativos de Red
Los sistemas operativos de Red Los sistemas operativos de Red
Los sistemas operativos de Red
 
Presentación de Ubuntu GNU/Linux
Presentación de Ubuntu GNU/LinuxPresentación de Ubuntu GNU/Linux
Presentación de Ubuntu GNU/Linux
 
Factores y métricas que determinan la calidad de un
Factores y métricas que determinan la calidad de unFactores y métricas que determinan la calidad de un
Factores y métricas que determinan la calidad de un
 
Ciclo Vida del Software
Ciclo Vida del SoftwareCiclo Vida del Software
Ciclo Vida del Software
 
2. El proceso del software
2. El proceso del software2. El proceso del software
2. El proceso del software
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Ejemplo rup
Ejemplo rupEjemplo rup
Ejemplo rup
 
51036806 proyecto-ejemplo-ingenieria-de-software
51036806 proyecto-ejemplo-ingenieria-de-software51036806 proyecto-ejemplo-ingenieria-de-software
51036806 proyecto-ejemplo-ingenieria-de-software
 
Introducción a UML
Introducción a UMLIntroducción a UML
Introducción a UML
 
Desarrollo de software basado en lineas de productos
Desarrollo de software basado en lineas de productosDesarrollo de software basado en lineas de productos
Desarrollo de software basado en lineas de productos
 
HA2NV50 EQ8-StarUML
HA2NV50 EQ8-StarUMLHA2NV50 EQ8-StarUML
HA2NV50 EQ8-StarUML
 
Métrica de punto de función y lineas de codigo
Métrica de punto de función y lineas de codigoMétrica de punto de función y lineas de codigo
Métrica de punto de función y lineas de codigo
 
Sistemas operativos distribuidos.
Sistemas operativos distribuidos.Sistemas operativos distribuidos.
Sistemas operativos distribuidos.
 
Origen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redesOrigen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redes
 
ADMINISTRACIÓN DE LA SEGURIDAD EN SQL SERVER
ADMINISTRACIÓN DE LA SEGURIDAD EN SQL SERVERADMINISTRACIÓN DE LA SEGURIDAD EN SQL SERVER
ADMINISTRACIÓN DE LA SEGURIDAD EN SQL SERVER
 
Rup disciplinas
Rup disciplinasRup disciplinas
Rup disciplinas
 

Destacado

La Catedral y el Bazar :: Desarrollo de Software en comunidad (Infociencias 2...
La Catedral y el Bazar :: Desarrollo de Software en comunidad (Infociencias 2...La Catedral y el Bazar :: Desarrollo de Software en comunidad (Infociencias 2...
La Catedral y el Bazar :: Desarrollo de Software en comunidad (Infociencias 2...William Yánez
 
WOLLEN SIE Q1 SCHAUEN?
WOLLEN SIE Q1 SCHAUEN?WOLLEN SIE Q1 SCHAUEN?
WOLLEN SIE Q1 SCHAUEN?marco678
 
Difusion taller ine sadi 2012
Difusion taller ine sadi 2012Difusion taller ine sadi 2012
Difusion taller ine sadi 2012usapuka
 
AndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture LösungAndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture LösungEduard Hildebrandt
 
Tr Ab Jo De Po We R P Oin2
Tr Ab Jo De Po We R P Oin2Tr Ab Jo De Po We R P Oin2
Tr Ab Jo De Po We R P Oin2anuxii
 
ODMF Präsentation 2005
ODMF Präsentation 2005ODMF Präsentation 2005
ODMF Präsentation 2005Philipp Sauber
 
EspañOl Para Los Empleados De Los Almacenes Grandes
EspañOl Para Los Empleados De Los Almacenes GrandesEspañOl Para Los Empleados De Los Almacenes Grandes
EspañOl Para Los Empleados De Los Almacenes Grandesjjr65
 
Rpm - Gestor de Paquetes Linux
Rpm - Gestor de Paquetes LinuxRpm - Gestor de Paquetes Linux
Rpm - Gestor de Paquetes LinuxEsteban Saavedra
 
Samsung mp3 YP-S3
Samsung mp3 YP-S3Samsung mp3 YP-S3
Samsung mp3 YP-S3marco678
 
Portafolio diagnóstico jmmhsems ude_g_rcihua
Portafolio diagnóstico jmmhsems ude_g_rcihuaPortafolio diagnóstico jmmhsems ude_g_rcihua
Portafolio diagnóstico jmmhsems ude_g_rcihuaPrepa Cihuatlan
 
WKE2014: The Beauty & The Beast
WKE2014: The Beauty & The BeastWKE2014: The Beauty & The Beast
WKE2014: The Beauty & The BeastWolfgang Wiese
 

Destacado (20)

La Catedral y el Bazar :: Desarrollo de Software en comunidad (Infociencias 2...
La Catedral y el Bazar :: Desarrollo de Software en comunidad (Infociencias 2...La Catedral y el Bazar :: Desarrollo de Software en comunidad (Infociencias 2...
La Catedral y el Bazar :: Desarrollo de Software en comunidad (Infociencias 2...
 
Control De Versiones Distribuido
Control De Versiones DistribuidoControl De Versiones Distribuido
Control De Versiones Distribuido
 
Intro cassandra
Intro cassandraIntro cassandra
Intro cassandra
 
WOLLEN SIE Q1 SCHAUEN?
WOLLEN SIE Q1 SCHAUEN?WOLLEN SIE Q1 SCHAUEN?
WOLLEN SIE Q1 SCHAUEN?
 
Difusion taller ine sadi 2012
Difusion taller ine sadi 2012Difusion taller ine sadi 2012
Difusion taller ine sadi 2012
 
Literatursuche und -beschaffung Study Camp 2015
Literatursuche und  -beschaffung Study Camp 2015Literatursuche und  -beschaffung Study Camp 2015
Literatursuche und -beschaffung Study Camp 2015
 
SSs
SSsSSs
SSs
 
Unterstützung von individuellen Reflexionsprozessen
Unterstützung von individuellen ReflexionsprozessenUnterstützung von individuellen Reflexionsprozessen
Unterstützung von individuellen Reflexionsprozessen
 
AndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture LösungAndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
 
Tr Ab Jo De Po We R P Oin2
Tr Ab Jo De Po We R P Oin2Tr Ab Jo De Po We R P Oin2
Tr Ab Jo De Po We R P Oin2
 
ATIX02
ATIX02ATIX02
ATIX02
 
ODMF Präsentation 2005
ODMF Präsentation 2005ODMF Präsentation 2005
ODMF Präsentation 2005
 
EspañOl Para Los Empleados De Los Almacenes Grandes
EspañOl Para Los Empleados De Los Almacenes GrandesEspañOl Para Los Empleados De Los Almacenes Grandes
EspañOl Para Los Empleados De Los Almacenes Grandes
 
Rpm - Gestor de Paquetes Linux
Rpm - Gestor de Paquetes LinuxRpm - Gestor de Paquetes Linux
Rpm - Gestor de Paquetes Linux
 
ZOEPEKES
ZOEPEKESZOEPEKES
ZOEPEKES
 
Samsung mp3 YP-S3
Samsung mp3 YP-S3Samsung mp3 YP-S3
Samsung mp3 YP-S3
 
Programa bilingüe de francés
Programa bilingüe de francésPrograma bilingüe de francés
Programa bilingüe de francés
 
Portafolio diagnóstico jmmhsems ude_g_rcihua
Portafolio diagnóstico jmmhsems ude_g_rcihuaPortafolio diagnóstico jmmhsems ude_g_rcihua
Portafolio diagnóstico jmmhsems ude_g_rcihua
 
WKE2014: The Beauty & The Beast
WKE2014: The Beauty & The BeastWKE2014: The Beauty & The Beast
WKE2014: The Beauty & The Beast
 
Newsletter 9
Newsletter 9Newsletter 9
Newsletter 9
 

Similar a Bazaar la herramienta para el control de versiones de forma distribuida

Tutorial de subvesion
Tutorial de subvesionTutorial de subvesion
Tutorial de subvesionPablo Morales
 
PPT Git GitHub
PPT Git GitHubPPT Git GitHub
PPT Git GitHubdrsevilla
 
Veeam diferencias entre versión Standard y Enterprise de Backup & Replication
Veeam diferencias entre versión Standard y Enterprise de Backup & ReplicationVeeam diferencias entre versión Standard y Enterprise de Backup & Replication
Veeam diferencias entre versión Standard y Enterprise de Backup & ReplicationSuministros Obras y Sistemas
 
Semana 4 control de versiones planificacion y gestion
Semana 4 control de versiones planificacion y gestionSemana 4 control de versiones planificacion y gestion
Semana 4 control de versiones planificacion y gestionGiovani Ramirez
 
[ES] Control de versiones con subversion
[ES] Control de versiones con  subversion[ES] Control de versiones con  subversion
[ES] Control de versiones con subversionEudris Cabrera
 
Lp II clase03 - Entornos de Desarrollo
Lp II clase03 - Entornos de DesarrolloLp II clase03 - Entornos de Desarrollo
Lp II clase03 - Entornos de DesarrolloAngelDX
 
Trac: Gestión de proyectos de desarrollo de Software
Trac: Gestión de proyectos de desarrollo de SoftwareTrac: Gestión de proyectos de desarrollo de Software
Trac: Gestión de proyectos de desarrollo de SoftwareEsteban Saavedra
 
Sistemas para el Control de Versiones de Código
Sistemas para el Control de Versiones de CódigoSistemas para el Control de Versiones de Código
Sistemas para el Control de Versiones de CódigoJesus Castagnetto
 
Control de versiones con git
Control de versiones con gitControl de versiones con git
Control de versiones con gitEudris Cabrera
 
Gesetion de configuracion del_software
Gesetion de configuracion del_softwareGesetion de configuracion del_software
Gesetion de configuracion del_softwareWilson Tineo Moronta
 
Herramientas case[gestion de cambio gestion de la configu
Herramientas case[gestion de cambio   gestion de la configuHerramientas case[gestion de cambio   gestion de la configu
Herramientas case[gestion de cambio gestion de la configuManuel Villalta
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas OperativosITSON
 
Windows Y Mach
Windows Y MachWindows Y Mach
Windows Y Machsistemasop
 
Grupo7 10 mo c gaby
Grupo7 10 mo c gabyGrupo7 10 mo c gaby
Grupo7 10 mo c gabybilluefor
 

Similar a Bazaar la herramienta para el control de versiones de forma distribuida (20)

Tutorial de subvesion
Tutorial de subvesionTutorial de subvesion
Tutorial de subvesion
 
Versionamiento
VersionamientoVersionamiento
Versionamiento
 
PPT Git GitHub
PPT Git GitHubPPT Git GitHub
PPT Git GitHub
 
Scm
ScmScm
Scm
 
Veeam diferencias entre versión Standard y Enterprise de Backup & Replication
Veeam diferencias entre versión Standard y Enterprise de Backup & ReplicationVeeam diferencias entre versión Standard y Enterprise de Backup & Replication
Veeam diferencias entre versión Standard y Enterprise de Backup & Replication
 
Semana 4 control de versiones planificacion y gestion
Semana 4 control de versiones planificacion y gestionSemana 4 control de versiones planificacion y gestion
Semana 4 control de versiones planificacion y gestion
 
[ES] Control de versiones con subversion
[ES] Control de versiones con  subversion[ES] Control de versiones con  subversion
[ES] Control de versiones con subversion
 
Lp II clase03 - Entornos de Desarrollo
Lp II clase03 - Entornos de DesarrolloLp II clase03 - Entornos de Desarrollo
Lp II clase03 - Entornos de Desarrollo
 
Subversion
SubversionSubversion
Subversion
 
Control de versiones y Subversion
Control de versiones y SubversionControl de versiones y Subversion
Control de versiones y Subversion
 
Trac: Gestión de proyectos de desarrollo de Software
Trac: Gestión de proyectos de desarrollo de SoftwareTrac: Gestión de proyectos de desarrollo de Software
Trac: Gestión de proyectos de desarrollo de Software
 
Sistemas para el Control de Versiones de Código
Sistemas para el Control de Versiones de CódigoSistemas para el Control de Versiones de Código
Sistemas para el Control de Versiones de Código
 
Control de versiones con git
Control de versiones con gitControl de versiones con git
Control de versiones con git
 
Gesetion de configuracion del_software
Gesetion de configuracion del_softwareGesetion de configuracion del_software
Gesetion de configuracion del_software
 
Control de versiones
Control de versionesControl de versiones
Control de versiones
 
Herramientas case[gestion de cambio gestion de la configu
Herramientas case[gestion de cambio   gestion de la configuHerramientas case[gestion de cambio   gestion de la configu
Herramientas case[gestion de cambio gestion de la configu
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Windows Y Mach
Windows Y MachWindows Y Mach
Windows Y Mach
 
Grupo7 10 mo c gaby
Grupo7 10 mo c gabyGrupo7 10 mo c gaby
Grupo7 10 mo c gaby
 
Presentación JBoss Operations Network
Presentación JBoss Operations NetworkPresentación JBoss Operations Network
Presentación JBoss Operations Network
 

Más de Esteban Saavedra (20)

Atix30
Atix30Atix30
Atix30
 
Atix29
Atix29Atix29
Atix29
 
Atix28
Atix28Atix28
Atix28
 
Atix27
Atix27Atix27
Atix27
 
Atix26
Atix26Atix26
Atix26
 
Atix25
Atix25Atix25
Atix25
 
Rabbitmq
RabbitmqRabbitmq
Rabbitmq
 
Ansible
AnsibleAnsible
Ansible
 
Perl
PerlPerl
Perl
 
Atix24
Atix24Atix24
Atix24
 
Atix23
Atix23Atix23
Atix23
 
Lineas Base Migracion a Software Libre
Lineas Base Migracion a Software LibreLineas Base Migracion a Software Libre
Lineas Base Migracion a Software Libre
 
Seguridad Sistemas de Gobierno
Seguridad Sistemas de GobiernoSeguridad Sistemas de Gobierno
Seguridad Sistemas de Gobierno
 
Tunneling: Esquivando Restricciones de Proxies y Firewalls
Tunneling: Esquivando Restricciones de Proxies y FirewallsTunneling: Esquivando Restricciones de Proxies y Firewalls
Tunneling: Esquivando Restricciones de Proxies y Firewalls
 
Bi Un Modelo Eficiente para Gerenciar Empresas
Bi Un Modelo Eficiente para Gerenciar EmpresasBi Un Modelo Eficiente para Gerenciar Empresas
Bi Un Modelo Eficiente para Gerenciar Empresas
 
Clouds privadas
Clouds privadasClouds privadas
Clouds privadas
 
Introduccion Computacion Ubicua
Introduccion Computacion UbicuaIntroduccion Computacion Ubicua
Introduccion Computacion Ubicua
 
Frameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web GrailsFrameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web Grails
 
Avances Tecnologicos
Avances TecnologicosAvances Tecnologicos
Avances Tecnologicos
 
Dni Electronico Bolivia
Dni Electronico BoliviaDni Electronico Bolivia
Dni Electronico Bolivia
 

Último

Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxCarolina Bujaico
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDAVIDROBERTOGALLEGOS
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxhasbleidit
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar24roberto21
 
PROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y masPROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y maslida630411
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaYeimys Ch
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nóminacuellosameidy
 

Último (20)

Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptx
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptx
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar
 
PROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y masPROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y mas
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nómina
 

Bazaar la herramienta para el control de versiones de forma distribuida

  • 1. Bazaar la herramienta para el control de versiones de forma distribuida Un sistema de control de versiones es el encargado de la gestión de los diversos cambios que se realizan sobre los elementos dentro el desarrollo de un producto software o en las configuraciones del mismo. Llevar un historial de los cambios ✔ en cada elemento del proyecto y anotar el autor de los cambios. Cada uno de los cambios se denomina revisión. Posibilidad de añadir, borrar, mover ✔ o editar los elementos. Capacidad de gestionar ramas de Introducción ✔ desarrollo paralelas a la principal. Los sistemas de control de versiones , en la Gestión de conflictos, en el caso de ✔ actualidad se han convertido en un elemento que más de un usuario cambie un indispensable en el proceso de desarrollo de elemento del proyecto. un producto software; de igual forma se Generación de informes de estado, convierten en un aliado importante de la ✔ donde se muestren las diferencias ingeniería de software en la tarea de entre distintas revisiones. conseguir como resultado un producto de software de calidad. Clasificación Los sistemas de control de versiones desde sus inicios fueron utilizados principalmente en Centralizados: existe un repositorio la industria informática, pero hoy en día estos ✔ centralizado de todo el código, del sistemas son utilizados tanto por industrias cual es responsable un único usuario como por desarrolladores individuales, (o conjunto de ellos). Se facilitan las considerando que estos últimos le dieron tareas administrativas a cambio de más dinamismo a su desarrollo y evolución. reducir la potencia y flexibilidad, pues Los sistemas de control de versiones se todas las decisiones fuertes (como constituyen en un buen complemento a los crear una nueva rama) necesitan la sistemas de backups. aprobación del responsable. Distribuidos: se aumenta la ✔ Características de un capacidad de decisión distribuida, característica que dará mayor sistema de control de flexibilidad en el uso, pero en algunos versiones casos puede dificultar la sincronización. Gestionar el almacenamiento de ✔ cada uno de los elementos del ✔ proyecto.
  • 2. Módulo: Conjunto de directorios y/o Funcionamiento ✔ archivos dentro del repositorio que Todos los sistemas de control de versiones pertenecen a un proyecto común. se basan en disponer de un repositorio, que Rótulo: Identificador asignado a un ✔ es el conjunto de información gestionada por módulo o fichero, asignado en un el sistema. Este repositorio contiene el momento determinado, orientado a historial de versiones de todos los elementos una búsqueda posterior. gestionados. Revisión: Una revisión es una versión ✔ Cada uno de los usuarios puede crearse una determinada de un archivo. copia local duplicando el contenido del repositorio para permitir su uso. Es posible Línea base: Una revisión aprobada ✔ duplicar la última versión o cualquier versión de un fichero, a partir del cual se almacenada en el historial. Este proceso se pueden realizar cambios suele conocer como check out. subsiguientes. Al momento de realizar modificaciones en la Injertar rama o branch: Un módulo ✔ copia local existen dos alternativas: puede ser branched o bifurcado en un momento dado, de forma que, en Exclusivos: para poder realizar un ✔ adelante, dos copias de esos ficheros cambio es necesario marcar en el puedan ser desarrolladas a diferentes repositorio el elemento que se desea velocidades o de diferentes formas, modificar y el sistema se encargará de modo independiente. de impedir que otro usuario pueda modificar dicho elemento. Check-out: Permite crear una copia ✔ de trabajo local desde el repositorio. Colaborativos: en el que cada ✔ Se puede especificar una revisión usuario se descarga la copia, la específica, por defecto se suele modifíca y el sistema obtener la última. automáticamente mezcla las diversas modificaciones. El principal problema Commit o check-in: Los cambios ✔ es la posible aparición de conflictos realizados localmente son escritos o que deban ser solucionados integrados sobre el repositorio. manualmente o las posibles Conflicto: Un conflicto ocurre cuando ✔ inconsistencias que surjan al el sistema es incapaz de fusionar los modificar el mismo fichero por varias cambios, algunas veces precisa personas no coordinadas. Esta intervención manual. semántica no es apropiada para Cambio: Un cambio representa una ficheros binarios. ✔ modificación específica a un fichero Tras realizar la modificación es necesario bajo control de versiones. actualizar el repositorio con los cambios Lista de cambios: Son listas que realizados. Habitualmente este proceso se ✔ identifican una serie de cambios a denomina commit, check in. realizarse en un solo commit. Útil al momento de revisar un cambio a Conceptos a considerar al partir de un identificador. momento de utilizar un Exportación: Similar a un check-out, ✔ control de versiones crea un árbol de directorios limpio sin los metadatos de control de versiones Repositorio: Es el lugar en el que se presentes en la copia de trabajo. Se ✔ almacenan los datos actualizados e utiliza a menudo de forma previa a la históricos, a menudo un servidor publicación de los contenidos. (proceso centralizado), el PC de los Importación: Una importación es la ✔ desarrolladores (proceso distribuido) acción de copia un árbol de
  • 3. directorios local (que no es en ese Amigable: Orientado principalmente a ✔ momento una copia de trabajo) en el personas que recién empiezan a repositorio por primera vez. hacer uso de este tipo de herramientas, enfocado Integración o fusión: Una ✔ principalmente a la usabilidad y integración o fusión une dos conjuntos eficiencia. de cambios sobre un fichero o un conjunto de ficheros en una revisión Elegante: Soporta el renombrado de ✔ unificada de dicho fichero o ficheros. archivos y directorios Actualización: Integra los cambios Rápido: Permite obtener rápidamente ✔ ✔ que han sido hechos en el repositorio sus ventajas y características sin (por ejemplo por otras personas) en la afectar al proceso de desarrollo. copia de trabajo local. Eficiente: Su almacenaje utiliza un ✔ Copia de trabajo: La copia obtenida formato altamente eficiente y limpio. ✔ desde el repositorio en el área de Ligero: No precisa tener un servidor ✔ trabajo local, se la realiza en un dedicado momento del tiempo o revisión Extensible: Posee una arquitectura específica ✔ basada en plugins, aspecto que Congelar: Representa permitir los ✔ permite dotarle de mayores últimos cambios (commits) para características especificas y acorde a solucionar las fallas a resolver en una cada necesidad. entrega (release) y suspender Embebido: Característica que le cualquier otro cambio antes de una ✔ permite estar presente en una serie liberación, con el fin de obtener una de aplicaciones y servicios libres y/o versión consistente. comerciales. Seguro: Al margen de las Qué es Bazaar? ✔ características que posee por si Bazaar es un sistema de control de mismo, cuenta con el patrocinio de versiones distribuido, de origen open source. Canonical tanto para su desarrollo como para su suporte Libre: Disponible bajo licencia GPL. ✔ Beneficios de un sistema de control de versiones distribuido Trabajo personal Posibilidad de revertir una revisión ✔ previa Facilitar la revisión de nuestro propio ✔ código (antes del commit) Por qué Bazaar? Sincronización de múltiples maquinas ✔ Adaptable: Orientado a la mayoría de ✔ los trabajos de desarrollo de software (local y/o remoto).
  • 4. Desarrollo colaborativo Poniendo a prueba a Bazaar Un desarrollador puede trabajar sin Para lograr un mejor entendimiento, de todas ✔ interferir con el trabajo de otros las características y funcionalidades que desarrolladores dispone Bazaar, basaremos nuestro ejemplo considerando el siguiente directorio y El proceso de fusión es automatizado ✔ contenido: en su generalidad. Instalación ✔ Que precisamos Bazaar es un software que puede ser instalado en varias plataformas mediantes sus respectivos gestores de paquetes: Debian, Ubuntu (apt-get) ✔ RHEL, CentOS, Fedora (yum) ✔ Windows, posee un isntalador ✔ Mac OS X (MacPorts). ✔ Identificación Inicial Antes de comenzar a trabajar es recomendable identificarse, haciendo conocer nuestro nombre y email: Verificación de Identificación Esto permitirá modificar el archivo de configuración, modificación que puede ser verificada de la siguiente forma: Esto ha hecho que Bazaar cree un branch donde almacenará los ficheros y el histórico de revisión de los mismos. (crea un directorio oculto con una serie de subdirectorios y Inicializar el control de archivos que le permiten mantener el control versiones y registro de archivos y tareas realizadas, el contenido es mostrado en la figura siguiente) Inicializamos el control de versiones de nuestro directorio
  • 5. Deshacer cambios Esta característica puede darse en tres casos distintos: Desversionando un archivo Deshacer el último commit Poniendo ficheros bajo el control de versiones Ahora es momento de ir añadiendo los ficheros y directorios de los cuales queremos Deshacer todos los cambios mantener un control de versiones. desde el ultimo commit: El deshacer los cambios pueden ser globales o de forma especifica de algún archivo. Registrando los cambios Realizando cambios en Bazaar nos permite realizar este registro nuestros archivos tanto a nivel global (todo el árbol de directorios) como a nivel especifico (solo Ahora procederemos a realizar algunos ficheros determinados) cambios en alguno de nuestros archivos (cuadrado.py) y verificar las diferencias con la versión registrada.
  • 6. Visualizando el estado de archivos Visualizando el historial de revisiones Una vez que los cambios se hayan realizado podemos proceder a registrar el cambio en nuestro branch mediante un commit, es recomendable incluir un mensaje descriptivo en cada commit. Publicando el branch con sftp Precisamos tener instalado y configurado un servidor SFTP, que servirá como plataforma de publicación. Asumiremos que nuestro branch será publicado en http://proyecto.dominio.com/repositorio: Esto hace que Bazaar cree el directorio repositorio y dentro de el coloque el branch de nuestro proyecto.
  • 7. Creando una nueva rama (branch) Muchas veces es necesario trabajar sobre ramas publicadas por otros desarrolladores; para esto podemos traer una copia de la publicación que hicimos anteriormente y crear una nueva rama dentro nuestro proyecto. Combinando ramas Dentro del desarrollo podemos contar con varias ramas, cada una con ciertas modificaciones; en caso que quisiéramos combinar nuestra copia de trabajo con una rama en especial, podemos hacer un merge de la siguiente forma. En caso de desear registrar estos cambios en nuestro repositorio local deberemos hacer un commit. Distribuir nuestros proyectos Antes de empezar a distribuir los archivos de nuestro desarrollo, podemos etiquetarlos para mantenerlo en el registro y posteriormente empaquetarlos. Etiquetado Empaquetado
  • 8. GUIs de ayuda Ganotate Bazaar dispone de una serie de GUIs que permiten realizar varias de la tareas de forma gráfica. Gbranch Gcommit Gdiff Visualize Referencias [1] http://bazaar-vcs.org/ [2] http://bazaar-vcs.org/Documentation Autor Anotate Esteban Saavedra López Líder de la Comunidad ATIX (Oruro – Bolivia) Activista de Software Libre en Bolivia jesaavedra@opentelematics.org http://jesaavedra.opentelematics.org