2012-02-16 15 views
8

私はPipに公開するためのSphinxのドキュメントとdistutilsを持つPythonプロジェクトを持っています。Pythonプロジェクトの一貫したバージョン管理

これらの機能の両方が自動的にバージョン番号を必要とする様々なユーティリティにわたって一貫バージョン番号を維持するためのベストプラクティスはあるバージョン(例えば、0.4b3)

が必要?

ボーナスとして、gitと統合するものは何ですか(タグなど)?

+1

このトピックは、プログラマーズ・スタック・エクスチェンジ・コムに移行することができます。 –

答えて

0

これはテストされていない回答ですが、これはconf.pyスクリプトのスフィンクスでは非常に簡単だと思います。このスクリプトは単なるPythonのであるとして、あなたはこのような何か行うことができます:当然

import subprocess 

... 

path_to_source = "../src" 
release = subprocess.check_output(["git", "rev-parse", "HEAD"], cwd=path_to_source) 
version = subprocess.check_output(["git", "describe", "--tags", "HEAD"], cwd=path_to_source) 

を、あなたがそれを望むようにそれらを取得するには、コマンドの出力にいくつかの文字列処理をしたいかもしれない、といくつかのエラーをチェックし、基本的なアイデアは成立するはずです。

私が言うように、私はこれをテストしていないので、私は完全に間違っている可能性があるので、あなたはこのアイデアに問題があるかどうか教えてください。

+0

スニペットをありがとう、しかし明確にするために、私は自分自身を転がそうとするのではなく、すでに使用されている方法を探していました。 – muckabout

1

これはPythonのdistutilsメーリングリストで好きな質問です。あなたは、あなたのモジュールをsetup.pyからインポートすることも、conf.pyとgetモジュールからインポートすることもできます。 バージョン。これは、あなたのインポート、2to3や他の要素の使用に応じて動作しないかもしれません。その場合、あなたのバージョンをテキストファイルに移動し、あなたのモジュールsetup.pyとconf.pyから開くことができます。

個人的には、バージョン番号を3か所で更新しても大した負担はありません。これは、リリースプロセスのマイナーなステップです。

関連する問題