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 и хранилище связываются автоматически. |