バージョンの情報をエクスポートする¶
詳細なバージョン情報を得る¶
最新バージョンに関する詳細な情報を出力するには version-info
コマンドを使用できます:
$ bzr version-info
revision-id: pqm@pqm.ubuntu.com-20071211175118-s94sizduj201hrs5
date: 2007-12-11 17:51:18 +0000
build-date: 2007-12-13 13:14:51 +1000
revno: 3104
branch-nick: bzr.dev
オペレーティングシステムツールもしくはスクリプトを使用して出力を簡単にフィルタリングできます。 例です:
$ bzr version-info | grep ^date
date: 2007-12-11 17:51:18 +0000
より高度な後処理のためにすべてのリビジョンに関するバージョン情報が必要であれば、
--all
オプションはその情報を実際にダンプします。
Pythonのプロジェクト¶
プロジェクトファイルをビルドするためにMakefileを使う場合、 次のようにバージョン情報用のファイルを簡単に生成できます:
library/_version.py:
bzr version-info --format python > library/_version.py
これは3つのディレクトリを含むファイルを生成します:
- version_info: 現在の状態に関する基本情報を含むディレクトリ。
- revisions: コミット時間とコミットメッセージと一緒に、 ツリーの履歴の中のすべてのリビジョンのリストを表示するディクショナリ。
--all
もしくは--include-history
が提供されない限り、デフォルトではこれは空です。 リリースバージョンに含まれる、バグ修正などを追跡したい場合に便利です。 しかし多くのプロジェクトに対してこれは必要以上の情報です。- file_revisions: プロジェクトのすべてのファイルに対する最終修正のリビジョンのリストを示すディクショナリ。 これは
$Id$
キーワードがCVSで管理されたファイルと同じように使われます。 最終修正の日付はrevisions
マップで探すことで決定されます。 デフォルトではこれは空で、--all
もしくは--include-file-revisions
によってのみ有効になります
別のフォーマットでバージョン情報を得る¶
任意のフォーマットのバージョン情報を取得するためにBazaarはテンプレートベースの方法をサポートします。
version-info
への --custom
オプションは作業ツリーのステータスに基づいて拡張された変数を含む
--template
引数を提供することで使用できます。
たとえば、現在のリビジョン番号を含むフォーマットされた文字列を伴うCヘッダーファイルを生成するには:
bzr version-info --custom \
--template="#define VERSION_INFO \"Project 1.2.3 (r{revno})\"\n" \
> version_info.h
{revno}
は作業ツリーのリビジョン番号に置き換えされます。
(上記の例があなたのOSで動作しない場合、一行ですべてのコマンドを入力してみてください)
テンプレートの中で利用できる変数の詳細な情報に関しては、
Bazaarのユーザーリファレンスの Version Info を参照してください。
特定の言語でバージョン情報をダンプするために予め定義されるフォーマットはは現在開発段階にあります。 この領域の要求に関してはメーリングリストで私達開発者に連絡して下さるようお願いします。
チェッククリーン¶
プロジェクトの内容に関する大抵の情報はリビジョンエントリを読むだけで簡単に決定できます。
しかしながら、作業ツリーがパッケージされたときにそれが最新であったこと、
もしくはローカルな修正があったことを知るためには便利です。
--all
もしくは --check-clean
のどちらかを提供することで bzr
は作業ツリーを検査して、
version_info
clean
を設定します。
同様に modified
が適切である場合に file_revisions
でエントリを設定します。