2009-03-08 15 views
1

Trac用のプラグインを作成しています。プラグインがGitのポスト受信フックから何らかのデータを受け取るたびに、タイムラインにイベントを追加したいと思います。Tracイベントタイムラインにどのようにイベントを追加しますか

the timeline APIを見ると、新しいイベントソースを追加できるようです。したがって、データを検索して表示するのはあなたの責任です。イベントを既存のソースに保存することをお勧めします。

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

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

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

答えて

2

タイムラインAPIは、必要以上に高いレベルです。 ChangesetModuleにはVCSの一般的な実装があり、チェンジセット(イベント)取得自体をVCS固有のRepositoryに委任します。したがって、the versioncontrol APIを実装する必要があります。

このAPIは、Tracがタイムラインを構築するときにVCSにクエリを実行する「プルモデル」用に設計されています。実際に "プッシュモデル"(なぜ?)が好きな場合は、the CacheRepository implementationをベースにしたり、イベントをキャッシュに注入したり、イベント保存リポジトリを最初から作成したりすることができます。これは既存のデザインの穀物に反するものであり、おそらく不必要な余分な努力であることに注意してください。

通常のプルモデルを使用することをお勧めします。これは簡単で洗練されたものになります。 the Subversion implementationまたはthe Mercurial implementationを参考にして、おそらくGitPythonを使用してgitと話すことができます。

+0

プッシュモデルを使用する前に、プロジェクトとそのクローンのすべてのアクティビティを追跡したいと思っています。 – Dinoboff

関連する問題