Сервер Mercurial, аналогичный SVN (проблема с несколькими репозиториями)

IDE, VCS и прочее

Модератор: Модераторы разделов

Ответить
Аватара пользователя
Gloomy
Сообщения: 340
Статус: сочувствующий

Сервер Mercurial, аналогичный SVN

Сообщение Gloomy »

Требуется поднять сервер Mercurial с аналогичной SVN иерархией проектов:

Код: Выделить всё

- со стороны сети:

http://server/+
                    |
                    +> project1
                    |
                    +> project2
                    |
                    +> project3
                    |
                        ...
                    |
                    +> projectN

- на самом сервере:

/home/hg/+
                |
               +> project1
                |
               +> project2
                |
               +> project3
                |
                   ...
                |
               +> projectN

Где project1, 2, 3 ... N - отдельный, независимый репозиторий со своими собственными ветками. Сервер поднимается в самом примитивном виде:

Код: Выделить всё

hg serve --config "web.allow_push=*" --config "web.push_ssl=false" -a 192.168.1.73 -v --debug

Т.е. без всякой авторизации, с правом записи для всех - что мне, собственно, и требуется. Все проекты (репозитории) создаю в конфигурации по-умолчанию (hg init).

Проблема возникла когда я попытался запустить сервер Mercurial в корне всех проектов (/home/hg). Получил ошибку, что текущий каталог не является репозиторием. Сменил текущий каталог на /home/hg/project1 - все запустилось, с Eclipse работает прекрасно. Однако остальные проекты недоступны - до project2, 3, ... N я достучаться не могу. Поднимать еще копии сервера для всех 157-ми проектов мне показалось не лучшей идеей.

Тогда я снес все из /home/hg, инициализировал в нем репозиторий (hg init) и запустил сервер. Все заработало, но удалось добавить только один проект по URL http://server/project1 - второй проект (по URL http://server/project2) добавляться уже не желает. В /home/hg вижу, что подкаталоги project1, 2, 3 ... N не создаются.

Перегуглил все что только можно, нашел тьму статей как запустить сервер Mercurial с суровой авторизацией по SSH, нашел способы импортировать проекты из SVN в Mercurial, но - ни слова о том, как правильно организовать сервер с несколькими репозиториями сразу :wallbash:

Неужто единственный возможный путь - запускать 157 копий сервера Mercurial, по одному персонально для каждого проекта? :(
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU
Контактная информация:

Re: Сервер Mercurial, аналогичный SVN

Сообщение sash-kan »

google://hg server multiple repos
первая ссылка: http://mercurial.selenic.com/wiki/PublishingRepositories
multiple repos встречается далеко не во всех случаях.
например, в случае hg serve — не встречается.
что как бы намекает.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
Gloomy
Сообщения: 340
Статус: сочувствующий

Re: Сервер Mercurial, аналогичный SVN

Сообщение Gloomy »

sash-kan писал(а):
08.05.2011 23:03
первая ссылка

Данную статью я уже читал. К сожалению, предложенное в ней решение меня не устраивает, т.к.:
а) нужно отдельно поднимать web-сервер, причем совершенно непонятно, зачем? (SVN преспокойно работает по собственному протоколу, не требуя никаких наворотов и/или хитрых скриптов);
б) чтобы добавить новый репозиторий, нужно "всего лишь добавить новую строчку в конфиг" - не представляю, каким образом это делать из Eclipse;

sash-kan писал(а):
08.05.2011 23:03
что как бы намекает

...что на базе Mercurial по-человечески такое не сделаешь... :( Спасибо за советы! :drinks: Буду искать другую SCM ;)
Спасибо сказали:
Ответить