Настройка репозиториев¶
- Table of contents
- Настройка репозиториев
Общая информация¶
Redmine поддерживает интеграцию с различными системами контроля версий "из коробки":
SCM | Поддерживаемые версии | Комментарии |
Subversion | 1.3 & 1.4 & 1.5 & 1.6 | Необходима 1.3 или выше. Не поддерживает Ruby Bindings для Subversion |
CVS | 1.12.12 | Необходима 1.12, не работает с CVSNT |
Mercurial | 0.9.3 | |
Bazaar | 1.0.0.candidate.1 & 2.0.4 | |
Darcs | 1.0.7 | |
Git | 1.5.4.2 |
Замечание 1 : соответствующие пакеты должны быть установлены на той же машине, что и Redmine.
К примеру, если вы хотите получить доступ к репозиториям Subversion в Redmine, вы должны установить пакет subversion на машине с Redmine.
Замечание 2 : соответствующие пакеты должны быть доступны Redmine :
2 случая :- они доступны напрямую, в переменной окружения
PATH
:- если имя команды нестандартное, вы можете переопределить его в Redmine configuration file
- вы можете определить полный путь к пакетам в Redmine configuration file
Наконец, удостоверьтесь в том, что выбрали необходимую SCM в Administration->Settings->Repositories->Enabled SCM
Добавление существующего репозитория к проекту¶
В настройках проекта убедитесь, что модуль 'Репозиторий' включен и откройте вкладку 'Репозиторий'.
Выберите SCM, соответствующую вашему репозиторию и введите адрес или URL репозитория.
Важно: Когда вы впервый раз открываете вкладку 'Хранилище', Redmine получает описание всех существующих в репозитории фиксаций (коммитов) и сохраняет их в базе данных.
Это происходит один раз для каждого репозитория, но может занять длительное время и вызвать time-out, если в вашем репозитории большое количество фиксаций (коммитов).
Для того, чтобы этого избежать, сделайте это offline.
После добавления репозитория проекту, выполните следующую команду:
$ ruby script/runner "Repository.fetch_changesets" -e production
Все фиксации (коммиты) будут извлечены в базу данных Redmine.
Начиная с версии 0.9.x, вы также можете перейти по URL с помощью ключа WS и fetch_changesets
выполнится:
http://redmine.example.com/sys/fetch_changesets?key=<ключ WS> (=> в бд извлекутся фиксации всех активных проектов) http://redmine.example.com/sys/fetch_changesets?key=<ключ WS>&id=foo (=> в бд извлекутся только фиксации проекта foo)
Не забудьте аутентификацию по ключу WS
, как описано в Rest_api#Authentication.
См. пример в HowTo_setup_automatic_refresh_of_repositories_in_Redmine_on_commit.
Subversion репозиторий¶
Поддерживаются все стандартные протоколы ( http:
, svn:
, file:
...), просто укажите URL репозитория.
Например:
http://имя_машины/путь/к/репозиторию
Укажите имя пользователя и пароль, если репозиторий требует авторизации.
Примечание: если вы хотите получать доступ к репозиторию, используя svn+ssh://
, необходимо настроить svn+ssh в не-интерактивный режим.
Для этого необходимо настроить public/private пару ключей для ssh аутентификации.
Установка соответствий login <-> Пользователь в Репозитории¶
Для корректного оторбажения имён в Хранилище, в Redmine есть возможность установки соответствий между login'ом и пользователя репозитория и пользователем Redmine.
Перейдите в Проект->Настройки->Хранилище->Пользователи
.
Вы увидите таблицу с двумя столбцами. Левый содержит login пользователя Хранилища, правый - выбор соответствующего ему участника проекта.
Выберите и обновите пользователя Redmine, связанного с найденным именем в журнале хранилища.
Пользователи с одинаковыми именами или email в Redmine и хранилище связываются автоматически.
Updated by Denis Savitskiy over 13 years ago · 1 revisions