Introducción al uso de Bazaar como SCV

Autor: Jesús M. Castagnetto
Contacto: jesus@upch.edu.pe
Fecha: 2008/02/15
Organización: Universidad Peruana Cayetano Heredia, Dirección Universitaria de Información

Agenda

[1]Bazaar: http://bazaar-vcs.org

¿Qué es Bazaar?

Bazaar: Detalles Técnicos

Bazaar logo
[2]Python: http://www.python.org/

Interfaces para Bazaar (1)

La línea de comando (rápida, potente y simple):

Comparando cambios:

$ bzr diff somefile.py

Registrando los cambios:

$ bzr commit -m "Fixed bug #124"

Extrayendo una rama de un repositorio externo:

$ bzr branch http://example.com/someproject

Interfaces para Bazaar (2)

Sistemas gráficos:

Para más información ver: http://bazaar-vcs.org/3rdPartyTools

Instalando Bazaar

Ejemplo práctico

Vamos a usar Bazaar en forma práctica.

Controlaremos las versiones de archivos correspondientes a esta presentación.

Usaré Ubuntu Linux como Sistema Operativo, se pueden hacer operaciones equivalentes en MS Windows, Mac OS X, etc.

Asumiré que ya tenemos Bazaar instalado y configurado correctamente.

Primeros pasos

Repositorio local

Viendo diferencias

Registrando cambios

Cuando hemos terminado una sesión de cambios y queremos guardarlos.

Usando bzr-gtk y Olive para hacer commit

Publicando el repositorio

Un repositorio se puede publicar usando un servidor web previamente configurado, y transfiriendo los archivos mediante varios protocolos: FTP, SFTP, WebDAV, etc.

Usaremos SFTP:

$ bzr push sftp://usuario@servidor/ruta/al/repo

En este caso:

Usando una rama local (1)

Usaremos el repositorio creado anteriormente para obtener una rama en la cual podemos trabajar.

Como tenemos un servidor web podemos hacer, simplemente:

$ bzr branch http://servidor/ruta/al/repo

Editamos uno de los archivos y luego vemos el estado:

$ bzr status
modified:
  introbazaar.rst

Usando una rama local (2)

Podemos ver lo que hemos hecho usando diff:

$ bzr diff introbazaar.rst

Podemos editar la rama local cuanto queramos, y cuando estemos listos, combinar nuestros cambios con los de otra rama (no necesariamente la original):

$ bzr merge http://servidor/ruta/otra/rama

Preparando un parche

Asumiendo que hemos realizado los cambios que queríamos y estamos listos para enviar nuestros cambios (produciendo un parche)

Etiquetado y empacando

Podemos etiquetar una version:

$ bzr tag VERSION_2

Se puede ver esta (y otra) información usando:

$ bzr log

Y podemos empacar todo en un archivo para distribución:

$ bzr export ../misoftware-2.0.0alpha.zip

Recuperándose de errores

Si borramos un archivo por error, lo podemos recuperar:

$ rm introbazaar.rst
$ bzr revert introbazaar.rst

Si añadimos el archivo equivocado al repositorio:

$ bzr add tempfile
$ bzr remove --keep tempfile

Si registramos algo por error:

$ bzr uncommit

Conclusiones

Referencias: Bazaar

Referencias: Otros

¡Gracias!

Por no aburrirse o asustarse demasiado.

Pueden encontrar esta (y otras) charla en:

http://talks.castagnetto.com/

¡Usen Bazaar!

Bazaar logo