2022.1.7
by John Arbash Meinel
Add NEWS and a simple doc for using bzr version-info |
1 |
========================== |
2 |
Using ``bzr version-info`` |
|
3 |
========================== |
|
4 |
||
5 |
Overview |
|
6 |
======== |
|
7 |
||
8 |
This document describes ways of using ``bzr version-info`` as part of a |
|
2293.1.3
by Brad Crittenden
Updated version_info.txt for grammar changes |
9 |
build process to embed version information into a final project. |
2022.1.7
by John Arbash Meinel
Add NEWS and a simple doc for using bzr version-info |
10 |
|
11 |
||
12 |
Python Project |
|
13 |
============== |
|
14 |
||
15 |
TODO: Figure out how to attach into ``setup.py`` |
|
16 |
||
17 |
||
18 |
If using a Makefile to build your project, you can generate the version |
|
19 |
information file as simply as:: |
|
20 |
||
21 |
library/_version.py: |
|
22 |
bzr version-info --format=python > library/_version.py |
|
23 |
||
24 |
This generates a file which contains 3 dictionaries: |
|
25 |
||
2293.1.3
by Brad Crittenden
Updated version_info.txt for grammar changes |
26 |
* `version_info`: A dictionary containing the basic information about the |
27 |
current state. |
|
28 |
||
29 |
* `revisions`: A dictionary listing all of the revisions in the |
|
30 |
history of the tree, along with the commit times and commit |
|
31 |
message. This defaults to being empty unless ``--all`` or |
|
32 |
``--include-history`` is supplied. This is useful if you want to |
|
33 |
track what bug fixes, etc, might be included in the released |
|
34 |
version. But for many projects it is more information than needed. |
|
35 |
||
36 |
* `file_revisions`: A dictionary listing the last-modified revision |
|
37 |
for all files in the project. This can be used similarly to how |
|
38 |
``$Id$`` keywords are used in CVS-controlled files. The last |
|
39 |
modified date can be determined by looking in the ``revisions`` |
|
40 |
map. This is also empty by default, and enabled only by ``--all`` |
|
41 |
or ``--include-file-revisions``. |
|
2022.1.7
by John Arbash Meinel
Add NEWS and a simple doc for using bzr version-info |
42 |
|
43 |
Check Clean |
|
44 |
=========== |
|
45 |
||
46 |
Most information about the contents of the project can be cheaply |
|
47 |
determined by just reading the revision entry. However, it can be useful |
|
48 |
to know if the working tree was completely up-to-date when it was |
|
49 |
packaged, or if there was a local modification. By supplying either |
|
50 |
``--all`` or ``--check-clean``, ``bzr`` will inspect the working tree, and |
|
51 |
set the ``clean`` flag in ``version_info``, as well as set entries in |
|
52 |
``file_revisions`` as ``modified`` where appropriate. |
|
53 |
||
54 |
.. |
|
55 |
vim: tw=74 ft=rst spell spelllang=en_us |