Я разместил два функциональных примера на Bitbucket.Оба примера предназначены для поиска в сообщении фиксации какого-либо специально отформатированного текста (например, идентификатора отслеживаемого случая), но его можно легко изменить, чтобы проверить пользователя по списку действительных пользователей.
Первый пример на самом деле представляет собой расширение Mercurial , заключающее в себе команду 'commit'.Если ему не удастся найти соответствующий текст (или действительного пользователя в вашем случае), это вообще предотвратит коммит.Вы можете включить это в своем файле .hgrc, добавив следующие строки:
[extensions]
someName = path/to/script/commit-msg-check.py
Во втором примере используется обработчик pretxncommit внутри процесса, который запускается между моментом принятия коммита,но прежде чем оно станет постоянным.Если эта проверка не пройдена, она автоматически откатит фиксацию.Вы можете включить это в своем файле .hgrc, добавив следующие строки (при условии, что вы сохранили те же имена файлов / функций):
[hooks]
pretxncommit.example = python:commit-msg-check-hook.CheckForIssueRecord
Вы можете выполнить любой код Python, который вам нравится, внутри этих хуков, поэтому проверка пользователяможно сделать разными способами.