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

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

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

(Я приложу свой нынешний подход в качестве ответа на этот пост.)

Ответ 1

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

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

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

Ответ 2

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

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

Ответ 3

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

Ответ 4

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

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

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

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

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

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

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

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

Ответ 5

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

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