=========================== 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.