RusRedmineRepositories » History » Version 1
Denis Savitskiy, 2011-07-08 13:55
| 1 | 1 | Denis Savitskiy | h1. Настройка репозиториев |
|---|---|---|---|
| 2 | |||
| 3 | {{>toc}} |
||
| 4 | |||
| 5 | h2. Общая информация |
||
| 6 | |||
| 7 | Redmine поддерживает интеграцию с различными системами контроля версий "из коробки": |
||
| 8 | |||
| 9 | |*SCM*|*Поддерживаемые версии*|*Комментарии*| |
||
| 10 | |"Subversion":http://subversion.tigris.org/|1.3 & 1.4 & 1.5 & 1.6|Необходима 1.3 или выше. Не поддерживает Ruby Bindings для Subversion| |
||
| 11 | |"CVS":http://www.nongnu.org/cvs/|1.12.12|Необходима 1.12, не работает с CVSNT| |
||
| 12 | |"Mercurial":http://www.selenic.com/mercurial/|0.9.3| | |
||
| 13 | |"Bazaar":http://bazaar-vcs.org/|1.0.0.candidate.1 & 2.0.4| | |
||
| 14 | |"Darcs":http://darcs.net/|1.0.7|| |
||
| 15 | |"Git":http://git-scm.com|1.5.4.2|| |
||
| 16 | |||
| 17 | +Замечание 1+ : соответствующие пакеты *должны* быть установлены на *той же машине, что и Redmine*. |
||
| 18 | |||
| 19 | К примеру, если вы хотите получить доступ к репозиториям Subversion в Redmine, вы должны установить пакет subversion на машине с Redmine. |
||
| 20 | |||
| 21 | +Замечание 2+ : соответствующие пакеты должны быть доступны Redmine : |
||
| 22 | |||
| 23 | 2 случая : |
||
| 24 | * они доступны напрямую, в переменной окружения @PATH@: |
||
| 25 | ** если имя команды нестандартное, вы можете переопределить его в Redmine [[RedmineInstall#SCM-settings|configuration file]] |
||
| 26 | * вы можете определить полный путь к пакетам в Redmine [[RedmineInstall#SCM-settings|configuration file]] |
||
| 27 | |||
| 28 | Наконец, удостоверьтесь в том, что выбрали необходимую SCM в @Administration->Settings->Repositories->Enabled SCM@ |
||
| 29 | |||
| 30 | h2. Добавление существующего репозитория к проекту |
||
| 31 | |||
| 32 | В настройках проекта убедитесь, что модуль 'Репозиторий' включен и откройте вкладку 'Репозиторий'. |
||
| 33 | Выберите SCM, соответствующую вашему репозиторию и введите адрес или URL репозитория. |
||
| 34 | |||
| 35 | *Важно*: Когда вы впервый раз открываете вкладку 'Хранилище', Redmine получает описание всех существующих в репозитории фиксаций (коммитов) и сохраняет их в базе данных. |
||
| 36 | Это происходит один раз для каждого репозитория, но может занять длительное время и вызвать time-out, если в вашем репозитории большое количество фиксаций (коммитов). |
||
| 37 | |||
| 38 | Для того, чтобы этого избежать, сделайте это offline. |
||
| 39 | После добавления репозитория проекту, выполните следующую команду: |
||
| 40 | <pre> |
||
| 41 | $ ruby script/runner "Repository.fetch_changesets" -e production |
||
| 42 | </pre> |
||
| 43 | |||
| 44 | Все фиксации (коммиты) будут извлечены в базу данных Redmine. |
||
| 45 | |||
| 46 | Начиная с версии 0.9.x, вы также можете перейти по URL с помощью ключа WS и @fetch_changesets@ выполнится: |
||
| 47 | |||
| 48 | <pre> |
||
| 49 | http://redmine.example.com/sys/fetch_changesets?key=<ключ WS> (=> в бд извлекутся фиксации всех активных проектов) |
||
| 50 | http://redmine.example.com/sys/fetch_changesets?key=<ключ WS>&id=foo (=> в бд извлекутся только фиксации проекта foo) |
||
| 51 | </pre> |
||
| 52 | |||
| 53 | Не забудьте аутентификацию по ключу @WS@, как описано в [[Rest_api#Authentication|Rest_api#Authentication]]. |
||
| 54 | |||
| 55 | См. пример в [[HowTo_setup_automatic_refresh_of_repositories_in_Redmine_on_commit]]. |
||
| 56 | |||
| 57 | h3. Subversion репозиторий |
||
| 58 | |||
| 59 | Поддерживаются все стандартные протоколы ( @http:@, @svn:@, @file:@ ...), просто укажите URL репозитория. |
||
| 60 | |||
| 61 | Например: |
||
| 62 | <pre> |
||
| 63 | http://имя_машины/путь/к/репозиторию |
||
| 64 | </pre> |
||
| 65 | |||
| 66 | Укажите имя пользователя и пароль, если репозиторий требует авторизации. |
||
| 67 | |||
| 68 | Примечание: если вы хотите получать доступ к репозиторию, используя @svn+ssh://@, необходимо настроить svn+ssh в не-интерактивный режим. |
||
| 69 | Для этого необходимо настроить public/private пару ключей для ssh аутентификации. |
||
| 70 | |||
| 71 | h2. Установка соответствий login <-> Пользователь в Репозитории |
||
| 72 | |||
| 73 | Для корректного оторбажения имён в Хранилище, в Redmine есть возможность установки соответствий между login'ом и пользователя репозитория и пользователем Redmine. |
||
| 74 | |||
| 75 | Перейдите в @Проект->Настройки->Хранилище->Пользователи@. |
||
| 76 | Вы увидите таблицу с двумя столбцами. Левый содержит login пользователя Хранилища, правый - выбор соответствующего ему участника проекта. |
||
| 77 | |||
| 78 | Выберите и обновите пользователя Redmine, связанного с найденным именем в журнале хранилища. |
||
| 79 | Пользователи с одинаковыми именами или email в Redmine и хранилище связываются автоматически. |