hgweb альтернативы allow_push
У меня Mercurial работает на IIS7 нормально. Одна вещь, которая расстраивает, состоит в том, что allow_push будет принимать только список имен пользователей, а не группу.
С этой целью мне было интересно, можно ли использовать крючок для выполнения этой задачи. то есть, передав аутентифицированное имя пользователя, вы можете по требованию проверить, имеет ли пользователь соответствующий доступ. Это нормально, если вы можете передать имя пользователя в хук, например:
[hooks]
prechangegroup = echo %username%
Неудивительно, что это всегда возвращает учетную запись, под которой работает IIS. Есть ли способ заставить allow_push уважать группы или передать зарегистрированного пользователя в ловушку prechangegroup?
Альтернативные подходы приветствуются.
1 ответ
Это не идеально - и я бы лучше сделал, как указано выше. Альтернативный подход, который я выбрал, заключается в том, чтобы внешний процесс установил разрешения для папок в IIS для чтения и выполнения, allow_pull и allow_push в hgrc для репозитория в зависимости от ситуации.
С точки зрения недостатков:
- Это еще один процесс, который должен знать о местонахождении хранилища.
- Процесс нуждается в механизме, чтобы узнать об обновлениях групп (то есть опрос).