Как запретить Trac показывать некоторые коммиты на временной шкале? - PullRequest
2 голосов
/ 07 декабря 2011

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

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

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

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

Для информации я использую Trac 0.12.2. Установленные плагины: Trac 0.12.2 TracAccountManager 0.2.1dev-r7731 TracNav 4.1

Единственное разрешение, которое я вижу в отношении временной шкалы, - это TIMELINE_VIEW.

РЕДАКТИРОВАТЬ:

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

РЕДАКТИРОВАТЬ 2:

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

РЕДАКТИРОВАТЬ 3:

Если мы посмотрим в конфигурационном файле trac, мы уже можем найти:

permission_policies = AuthzSourcePolicy, DefaultPermissionPolicy, LegacyAttachmentPolicy

и переменная authz_file также установлена ​​правильно. Более того, svn-доступ к закрытым папкам svn-репозиториев не может быть доступен анонимным пользователям.

Ответы [ 3 ]

2 голосов
/ 08 декабря 2011

Вы должны настроить проверку авторизации как для вашего хранилища Subversion, так и для вашей установки Trac.Вы можете использовать один и тот же файл разрешений для обоих.Для Subversion см. Авторизация на основе пути в книге SVN.Для Trac включите и настройте компонент trac.versioncontrol.svn_authz.AuthzSourcePolicy.

Это позволит вам очень детально контролировать, кто может получить доступ к какой части хранилища.Обратите внимание, что реализация AuthzSourcePolicy в Trac 0.12.2 имеет несколько ошибок, которые будут исправлены в 0.12.3.

0 голосов
/ 08 декабря 2011

Признаюсь, что у меня практически нет опыта работы с частью репозитория Trac, тем более с использованием репозитория с различными разрешениями для его содержимого.недостаточно , смотрите ответ rblanks.Хотя я никогда не видел код для этой функциональности, я ошибся, предположив, что его не существует.Поскольку это центральное место и разработано / поддерживается в ядре Trac, это, безусловно, путь.

0 голосов
/ 07 декабря 2011

Есть два способа сделать это:

1) Вы можете напрямую редактировать плагины, которые работают в trac, и добавить модуль, который поможет вам отфильтровать их на уровне кода (т. Е. Вы можете редактировать поведение скрипта, скажем, для включения только коммитов, которые исключить определенные ключевые слова). Сценарий временной шкалы находится здесь (trac 2.4): /usr/local/lib/python2.4/site-packages/trac/Timeline.py (вот онлайн-снимок различий исходного кода: http://trac.edgewall.org/attachment/ticket/890/Timeline.py.diff)

2) Вы можете полностью удалить коммиты - коммиты trac получены из базы данных sqlLite (схема здесь http://trac.edgewall.org/wiki/TracDev/DatabaseSchema).

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

Наконец - временно вы можете полностью удалить временную шкалу / дорожную карту из файла trac.ini: http://www.gossamer -threads.com / lists / trac / users / 28079

...