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