Как легко опубликовать новый репозиторий или подкаталог Mercurial на общем центральном сервере? (Подтолкнуть клона) - PullRequest
5 голосов
/ 23 июня 2011

Широкие возможности публикации Mercurial включают HgWeb (и ранее HgWebDir), который почти идеально подходит для моих нужд.HgWeb 1.6 поддерживает несколько репозиториев, включая коллекции.

Таким образом, hgweb.config может содержать что-то вроде этого:

[collections]
/home/user/collection1 = /home/user/collection1
/home/user/collection2 = /home/user/collection2

Таким образом, каждая из указанных выше папок (collection1, collection2) может содержать около 10-20 репозиториев, как подпапки, в вышеуказанных местах.

Мой вопрос: есть ли какое-либо расширение hg или метод конфигурации, который позволит мне подтолкнуть клона к коллекции, обслуживаемой hgweb?

Мой обычный подход в Linux состоит в том, чтобы войти в систему удаленно, используя SSH, а затем сделать hg clone моей копии рабочей станции разработчика, которую я на мгновение обслуживаю с помощью `hg serve '.Я нахожу, что я работаю с некоторыми опытными Linux-разработчиками, у которых нет проблем с ssh-in-box, и делаю вещи с hg.Но пользователи Windows (а) не понимают ssh, и (б) не знают среды командной строки Linux и хотят найти путь либо с помощью своих плагинов для управления версиями IDE, либо с инструментами GUI, , либо с CGI Page (написано мной на python), для удаленного извлечения клона, что дает им эффективный способ отправить или опубликовать свой репозиторий HG в центральном репозитории без обращения к ssh-доступу к системе удаленного сервера.В нечетном случае, когда централизованный сервер Mercurial работал в Windows, вы даже не сможете использовать ssh на удаленном сервере.

Мне кажется, что ответ "нет, ты не можешь этого сделать", если я не напишу свое собственное расширение для hgweb, что я собираюсь сделать.Но если есть способ сделать это уже в hg, я хотел бы знать это.

Смежные вопросы:

Настройка mercurial на виртуальном хостинге

Несколько центральных хранилищ с ртутью

1 Ответ

2 голосов
/ 23 июня 2011

Стандартный веб-интерфейс Mercurial не поддерживает удаленное создание репозиториев (см. Почему Mercurial не поддерживает создание удаленных репозиториев по HTTP? ).Однако, если вашим коллегам-разработчикам в основном разрешено входить на сервер Mercurial с использованием SSH и если у вас есть какое-то общее файловое пространство на этом сервере, к которому могут обращаться несколько пользователей, вы можете клонировать локальные репозитории на сервер, используя SSH URL репо ( см. Этот ответ ).Это также должно быть легко для пользователей Windows, так как работа с низкоуровневым SSH выполняется Mercurial.

...