Я знаю, что не возможно для удаленного создания хранилищ Mercurial с использованием HTTP (S), например:
$ hg init https://host.org/repos/project
или
$ hg clone /path/to/local/project https://host.org/repos/project
Но в чем причина? Проблемы с безопасностью? В этом нет необходимости? Просто потому, что никто еще не реализовал это?
Обоснование этого вопроса: В моей компании мы совместно используем большинство ресурсов через HTTPS, т. Е. Разрешения на доступ управляются только Apache, и обычные пользователи не могут войти в систему через SSH на сервере. Это просто идеально, если нужно обслуживать только репозитории (для этого мы довольны hgwebdir.cgi
). Однако мы также хотим разрешить удаленное создание репозиториев без необходимости поддерживать дополнительные / исправленные сценарии на сервере и дополнительные инструменты на клиентах.
Для ясности: этот вопрос не требует решения нашей конкретной проблемы, но объясняется тем, почему Mercurial не поддерживает эту функцию сама.
UPDATE
Вот более техническое описание ситуации, о которой я думаю. Предполагается, что hgwebdir.cgi
обслуживает коллекцию репозиториев в /path/to/repos
в https://.../repos
(с включенным проталкиванием). Каждый пользователь, которому разрешен доступ к этому URL (как настроено в Apache), может извлекать и выдвигать наборы изменений, фактически это означает, что hgwebdir.cgi
(и, следовательно, hg
) редактирует и создает файлы со значением ниже /path/to/repos
. Теперь, каков барьер, позволяющий hgwebdir.cgi
также создавать новые репозитории ниже /path/to/repos
?