如何将事件添加到跟踪事件时间轴

时间:2009-03-08 16:30:07

标签: python plugins trac

我正在为Trac编写一个插件。每次插件从Git post-receive hook接收一些数据时,我想在时间线上添加一个事件。

查看the timeline API,您似乎只能添加新的事件来源。因此,您负责检索和显示数据。我希望将我的活动保存到现有的来源。

我应该在哪里查看Trac API来保存事件?

ps:我的计划是依赖远程存储库和远程Web界面来代码,如Github。

pss:时间线必须显示来自主项目git存储库及其克隆的提交。我不想托管与项目有关的每个存储库的副本。

1 个答案:

答案 0 :(得分:2)

时间轴API的级别高于您需要的级别。 ChangesetModule中有一个通用的VCS实现,它将变更集(事件)检索本身委托给特定于VCS的Repository。因此,您应该实施the versioncontrol API

API是为“拉模型”设计的,其中Trac在构造时间轴时查询VCS。如果您真的更喜欢“推模型”(为什么?),您可以尝试以the CacheRepository implementation为基础,将事件注入缓存,或者只是从头开始编写事件存储库。请注意,这违背了现有设计的要求,很可能是不必要的额外努力。

我建议你改用普通的拉模型,它会更简单,更清洁。您可以使用the Subversion implementationthe Mercurial implementation作为参考,并可能使用GitPythongit对话。