2011-12-15 7 views

答えて

1

ご存じのように、Mercurialにはno stable Python-level APIがあります。コマンドラインは、サポートされている唯一のAPIです(JavaHgpython-hglibなどのラッパーライブラリを使用している場合を除く)。

ので、コマンドラインで、あなたはID後にすべてのチェンジセットを取得するために

$ hg log -r "ID::" 

を実行します。 ::オペレータは、子孫ではなく、IDの子孫でなくても、リビジョン番号が高いチェンジセットを必要とする場合は、ID:を使用します。 JavaHgを使用して

、あなたはRepositoryオブジェクトをインスタンス化し、LogCommandを使用します。

List<Changeset> changesets = LogCommand.on(repo).rev(id + "::").execute(); 

あなたはその後、changesetsリストを反復することができます。あなたはMercurialのコードをインポートする場合のpython-hglibと、それは

changesets = client.log(id + "::") 

のように見える最後に、直接あなたはchangectxオブジェクトを返すイテレータを取得するために

ctxs = repo.set(id + "::") 

を行うことができます。私たちはPython APIについて保証しませんが、私はこれも非常に安定していると期待しています。

上記は変更セットIDまたはリビジョン番号を参照することに焦点を当てています。日付で検索する場合は、その後、あなたはdateキーワード引数を設定し、内部のpython-hglibで、あなただけのLogCommanddate(String date)メソッドを使用することができますJavaHgで

$ hg log -d '>YOUR-DATE' 

と同等のものを呼び出す必要がありますdate revset述語 - hg help revsetsを参照してください。

関連する問題