Usando bzr version-info

Repaso General

Este documento describe las formas de usar bzr version-info como parte del proceso de embeber la informacion de vesion a un proyecto.

Projecto Python

TODO: Figure out how to attach into setup.py

Si usa un archivo Makefile para construir su proyecto, puede generar un archivo on la informacion de version tan simple como:

library/_version.py:
      bzr version-info --format=python > library/_version.py

Eso genera un archivo que contiene 3 diccionarios:

  • version_info: Un diccionario conteniendo informacion basica sobre el estado actual
  • revisions: Un diccionario listando todas las revisiones en el historial del tree, junto con los tiempos y los mensajes de los commits. Esto por defecto esta en blanco salvi que use --all o –include-history` es provisto. Esto es util si quiere seguir que bugs arregla el lanzamiento de esa version. Para muchos proyectos es mas informacion de la que se va a necesitar.
  • file_revisions: Un diccionario listando la revision que modifico por ultima vez todos los archivos del proyecto. Esto puede ser usado similarmente a como se usan las palabras claves $Id$ en los archivos controlados en CVS. La ultima fecha de modificacion puede ser determinada mirando en el mapa de revisions. Esto tambien esta vacio por defecto, y habilitado solo por --all o --include-file-revisions.

Check Clean

La mayoria de la informacion sobre el contenido del proyecto puede ser determinada a muy bajo costo con solo leer las entradas de revisiones. Sin embargo, puede ser util si el working tree fue actualizado completamente cuando fue empaquetado, o si hubo alguna modificacion local. Al proveer --all o --check-clean, bzr va a inspeccionar el working tree, y definir el clean flag en version_info, al igual que definir entradas en file_revisions como modified donde es apropiado.