1

Trac用のプラグインを書いています。プラグインがGitの受信後フックからデータを受信するたびに、タイムラインにイベントを追加したいと思います。

タイムラインAPIを見ると、イベントの新しいソースしか追加できないようです。したがって、データを取得して表示するのはあなたの責任です。イベントを既存のソースに保存したいと思います。

イベントを保存するには、Trac APIのどこを調べる必要がありますか?

ps:私の計画は、GithubのようなコードへのリモートリポジトリとリモートWebインターフェイスに依存することです。

pss:タイムラインは、メインプロジェクトのgitリポジトリとそのクローンからのコミットを表示する必要があります。プロジェクトにとって重要なすべてのリポジトリのコピーをホストしたくありません。

4

1 に答える 1

2

タイムライン API は、必要なものよりも高いレベルです。ChangesetModuleには、その一般的な VCS 実装があり、変更セット (イベント) の取得自体を VCS 固有の に委譲しRepositoryます。そのため、代わりにバージョン管理 APIを実装する必要があります。

API は「プル モデル」用に設計されており、Trac はタイムラインを構築するときに VCS にクエリを実行します。本当に「プッシュ モデル」を好む場合 (なぜですか?)、CacheRepository 実装をベースとして作業するか、イベントをキャッシュに挿入するか、イベントを保存するリポジトリをゼロから作成してみてください。これは既存の設計の粒度に反するものであり、不要な余分な作業になる可能性が非常に高いことに注意してください。

代わりに通常のプル モデルを使用することをお勧めします。より簡単でクリーンになります。Subversion 実装またはMercurial 実装を参照として使用でき、おそらくGitPythonを使用してgit.

于 2009-03-11T23:57:51.300 に答える