Как добавить событие на временную шкалу Trac - PullRequest
1 голос
/ 08 марта 2009

Я пишу плагин для Trac. Я хотел бы добавлять событие на временную шкалу каждый раз, когда плагин получает некоторые данные из ловушки Git после получения.

Глядя на API временной шкалы , кажется, что вы можете добавить только новый источник событий. Таким образом, вы несете ответственность за получение и отображение данных. Я бы предпочел сохранить свое событие в существующий источник.

Где искать в Trac API для сохранения событий?

ps: я планирую использовать удаленный репозиторий и удаленный веб-интерфейс для такого кода, как Github.

pss: Временная шкала должна отображать коммиты из основного репозитория git проекта и его клонов. Я не хочу размещать копию каждого репозитория, который имеет значение для проекта.

1 Ответ

2 голосов
/ 12 марта 2009

API шкалы времени - это уровень выше того, что вам нужно сделать. Это общая реализация VCS в ChangesetModule , которая делегирует извлечение changeset (события) самому специфичному для VCS Repository. Поэтому вы должны вместо этого реализовать versioncontrol API .

API разработан для «модели извлечения», в которой Trac запрашивает VCS при построении временной шкалы. Если вы действительно предпочитаете «push-модель» (почему?), Вы можете попробовать отработать реализацию CacheRepository в качестве основы, внедрить ваши события в кэш или просто написать хранилище событий с нуля. Имейте в виду, что это идет вразрез с существующим дизайном и, скорее всего, потребует дополнительных усилий.

Я предлагаю вам использовать обычную модель тяги, это будет проще и чище. Вы можете использовать реализацию Subversion или реализацию Mercurial в качестве ссылки и, вероятно, использовать GitPython для общения с git.

...