2012-02-03 11 views
4

ディレクトリのリストをトラブリングし、バージョン管理されているかどうかを確認して、その状態がどのようなものかを教えてくれる簡単なスクリプトを書こうとしています。多くのファイルが変更され、追加されました。Bazaar: "bzr info"に相当するbzrlib

私はこれをbzrlib Python APIで行いました。

私の最終的な障害は、枝が由来する幹に乗る方法を理解しようとしています。コマンドラインでこれを行うには

は単純です:

bzr info 

しかし、bzrlibの等価は何ですか?私は私の仕事では「チェックアウト」を使用する傾向がある

d = 'some directory' 
wt = workingtree.WorkingTree.open(d) 

ので、私は私の場所を伝えるために何かを探していることになります。現時点では

、私は作業ツリーとしてのロケーションを開いています現在のインスタンスが、コマンドラインから例えば、からチェックアウトされている分岐:

>bzr info dev 
Checkout (format: unnamed) 
Location: 
    checkout dev: dev 
checkout of branch: bzr+ssh://bazaar.launchpad.net/.... 

は、私は基本的に私は私のスクリプトに差し込むことができるいくつかの文字列として最後の行をしたいです。興味のある人のための今後の参考のためにお時間を事前に

感謝

乾杯、

デイブ

、。

from bzrlib import repository, branch, workingtree, info 
r = repository.Repository.open(d) 
b = branch.Branch.open(d) 
w = workingtree.WorkingTree.open(d) 

bzr_info = info.gather_location_info(r,branch=b,working=w) 

これを行うために、よりエレガントな方法は、おそらくあり、追加すること自由に感じ、その場合には:「D」の場所を使用するためのbzr先で取得する方法である、ここで、以下の受け入れ答えにヒントを以下のコメントはこちら!

答えて

2

次の方法を見てみましょう:

bzrlib.builtins.cmd_info 
bzrlib.info.show_component_info 
bzrlib.info.gather_location_info 

は、基本的には、(gather_location_infoは)あなたの情報を提供しますが、あなたはそれを開いたリポジトリ、ブランチとworkingtreeを与える必要がAFAICT。

+0

良いポインタ、ありがとう。基本的には、リポジトリ、ブランチ、作業ツリーなどの場所を開いて、gather_location_infoに渡す必要があります。やや長い間待っていましたが、仕事が終わりました。乾杯 – Dave

関連する問題