~bzr-pqm/bzr/bzr.dev

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