Я исследую использование Mercurial в корпоративной среде. Планируется использовать центральные репозитории, размещенные на веб-сервере (IIS), к которым разработчики будут стремиться, как только они протестируют изменения локально или в своих командах.
У меня есть IIS, настроенный для аутентификации пользователей в Active Directory, но, похоже, есть пробел в том, что, хотя я могу принудить тех, кто может выдвигать, я не могу заставить их подписывать свои наборы изменений как они сами.
Например, для базового сценария коммита:
- пользователь фиксирует в своем локальном хранилище
- пользователь отправляет свои изменения в центральное хранилище
На шаге 1 пользователь вводит имя пользователя (через свой файл .hgrc или что-то еще) в свой локальный репозиторий, но на самом деле нет никакого способа обеспечить, чтобы это было его "настоящее" имя пользователя.
На шаге 2 пользователь должен предоставить свои «настоящие» учетные данные IIS, чтобы им было разрешено отправлять их, но их наборы изменений будут отображаться в истории с любым именем пользователя, которое они предоставили на шаге 1. Похоже, что Боб использовал » Алиса "в качестве своего имени пользователя для шага 1, он мог убедиться, что Алиса понесла вину за любое из своих глючных изменений.
Есть ли способ убедиться, что эти имена пользователей совпадают во время push (через ловушки или что-то в этом роде)? Или, альтернативно, каким-то другим способом обеспечить разумный уровень подлинности при смене лонга?
Редактировать: При дальнейшем рассмотрении, я думаю, я на самом деле не хочу обеспечивать, чтобы эти имена совпадали; если Боб и Алиса сотрудничают в отдельном репо, Боб в конечном итоге должен иметь возможность продвигать все свои изменения, а не только свои собственные. Что я действительно хочу, так это просто убедиться, что, если все сводится к этому, я могу сказать, кто сделал какие изменения более определенным образом, чем какое-либо имя пользователя.
Я думаю GpgExtension является частью ответа, но я все еще не думаю, что у меня есть полная картина.