Я установил Mercurial через Apache (hgwebdir.cgi
). Я хотел бы иметь ту же функциональность, что и при использовании Subversion и AuthzSVNAccessFile, в котором я могу ограничить, у какого пользователя есть разрешения на чтение или запись для каждого отдельного репозитория. В расширение acl контролирует только то, как изменения вносятся в репозиторий, как и allow_push
директива. Есть предположения?
Есть allow_read
директива, которую можно добавить в репозиторий hgrc, которая работает так же, как allow_push
. Если указано, и пользователь, обращающийся к сценарию CGI hgwebdir, отсутствует в списке, проект даже не отображается на странице индекса.
Они обслуживаются через apache или lighttpd, верно? Значит, вы могли бы спрятать их за обычными сетевыми ACL? (базовая авторизация и т. д.)
Обратите внимание, что, как и в случае с git, из-за того, как они работают, вы никогда не сможете иметь контроль на более тонкой гранулярности, чем на уровне репозитория. Вы можете предоставить доступ ко всему репо или нет, но никогда не просто «вы можете прочитать этот единственный файл в репо».