Как добавить событие на временную шкалу Trac

1

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

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

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

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

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

Теги:
plugins
trac

1 ответ

2
Лучший ответ

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

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

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

  • 0
    Я собираюсь использовать push-модель, прежде чем хочу использовать ее для отслеживания активности в проекте и всех его клонов.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню