Как вы обрабатываете несколько (перекрывающихся) проектов в trac?

мы используем trac и действительно удовлетворены этим. Однако, из коробки, trac наиболее хорошо одет для окружающих сред одиночн-проекта только. Мне было бы интересно услышать о различных подходах, которые люди используют, чтобы заставить его работать с несколькими проектами, и их опыте с ними. Есть ли какие плагины посоветуете? Любые патчи, твики или что-то еще? Возможно, вы даже используете совершенно другую систему отслеживания ошибок, которая предлагает все функциональные возможности trac plus multi-project поддержка?

недавно мы сами начали управлять вторым проектом, который обычно работает нормально, но также имеет некоторые недостатки, особенно когда два проекта перекрываются из-за общего кода библиотеки, который мы написали, который используется в обоих проектах. Как ты справляешься с этим?

(Я добавлю наш собственный подход в качестве ответа на этот пост.)

5 ответов


подход, который мы приняли, заключается в создании другой среды trac для каждого нового проекта и настройке InterTrac ссылки для более простой перекрестной ссылки между ними. Мы также используем общую базу Trac.ini файл через директиву [inherit].

помимо проблем с неоднозначностью общего кода, упомянутых в вопросе, это имеет несколько недостатков, которые могут или не могут повлиять на вас, в зависимости от характера ваших проектов и вашего рабочий процесс:

  • создание новых проектов-непростой процесс; это невозможно сделать через интерфейс браузера
  • номера билетов не унифицированы: каждая новая среда проекта начинается с #1-по крайней мере, с псевдонимами InterTrac вы можете легко их устранить
  • вы должны проявлять особую осторожность при установке и настройке плагинов, чтобы они были установлены и настроены для всех сред

альтернативой, которой мы следовали, является настройка различных проектов в качестве компонентов.

мы разделяем репозиторий SVN и домашнюю страницу wiki, но мы не используем функции milestone. Если проект достаточно большой, чтобы иметь разные модули (только один из них в нашем случае), мы настраиваем каждый модуль как компонент вместо проекта.


год назад SimpleMultiProjectPlugin (поддержка нескольких проектов в одном экземпляре Trac) была реализована. Он работает с >= Trac 0.12. Он добавляет новое поле билета "проект", расширяет временную шкалу и страницу дорожной карты с фильтрами для нескольких проектов и его версий карт, компонентов и этапов для проектов.


то же самое чувство здесь, Trac действительно приятно после правильной настройки. И это легко взломать, не касаясь кода. Я только хочу, чтобы синтаксис wiki был чем-то более распространенным, например markdown.

мы приняли подход, используя один экземпляр Trac. Мы не нуждались/не хотели использовать жесткий ACL, и это имеет преимущество, чтобы сохранить всю деятельность разработчиков в одном месте.

для разделения проектов, мы, по сути, присвоения ошибок на различных этапах. Каждый проект имеет краткосрочная и долгосрочная веха. Краткосрочная используется для исправления фактических ошибок, а долгосрочная-для крупных выпусков.

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

отчеты по существу ограничены "мои билеты", и кнопка "Показать отчет" была изменена для прямого доступа к вашим билетам.

Workflow-процесс также был адаптирован для добавления промежуточного состояние "испытания", так, что QA сможет гарантировать отладку.

конфигурация электронной почты была изменена, чтобы не затоплять почтовые ящики, так что разработчики фактически читают свои назначения.

с этим на месте, у нас есть довольно эффективный инструмент. Потребовалось некоторое время, чтобы сделать это правильно, но легко изменить вещи, если вы знаете, как взломать и искать вещи в google.


на проект Apache Bloodhound был запущен специально, чтобы обеспечить поддержку нескольких проектов в Trac (среди прочего). Это, по сути, коллекция плагинов поверх Trac.

Bloodhound остается совместимым с самыми популярными Trac-Hacks и следует за любыми изменениями в самом Trac. Вы можете попробовать демо-экземпляр тоже.