Este documento describe las formas de usar bzr version-info como parte del proceso de embeber la informacion de vesion a un proyecto.
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.
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.