2012-02-03 17 views
2

私のPythonアプリケーションが実行されるたびに、ログが作成されます。私は実行されたコードのリビジョン番号をそのログに含めたいと思います。どうやってやるの?アクセス現在のリビジョン番号

Python 3.2、Windows TortoiseHg 2.2.2とMercurial 2.0.2を使用します。

答えて

2

setuptoolsを使用してアプリケーション/パッケージを配布する場合は、実行時にpkg_resources.get_distribution("my_package").versionを使用して、インストールされたパッケージバージョンにアクセスできます。

python3 setup.py egg_info -b -$(hg heads --template "{node|short}" `hg branch`) sdist 

または

python3 setup.py egg_info -b -$(hg heads --template "{node|short}" `hg branch`) setup 
+0

実は、私はアプリを配布しない;:あなたのようなコマンドを使用してディストリビューションを構築する必要がありますので、しかしsetuptoolsのは、水銀リビジョンでタグ付け自動バージョンをサポートしていません。 – max

+0

別の開発/デプロイメントパス(とにかく推奨されている方法です)を使用している場合、引き続きsetuptoolsを使用することができます展開のために。それ以外の場合は、現在のバージョンを保持し、その生成をポストコミットスクリプトにフックする自動生成ファイルを作成することだけです。 – abbot

+0

これは 'changegroup'か' commit'フックに入れますか?そして、どの操作をすればリビジョン番号の後に(またはその内部に)名前のファイルを作成できますか? – max

関連する問題