Мне нужен простой хук для mercurial, который проверяет комментарий фиксации с помощью шаблона. Вот мой хук:
#!/usr/bin/env python
#
# save as .hg/check_whitespace.py and make executable
import re
def check_comment(comment):
#
print 'Checking comment...'
pattern = '^((Issue \d+:)|(No Issue:)).+'
if re.match(pattern, comment, flags=re.IGNORECASE):
return 1
else:
print >> sys.stderr, 'Comment does not match pattern. You must start it with "Issue 12323:" or "No Issue:"'
return 0
if __name__ == '__main__':
import os, sys
comment=os.popen('hg tip --template "{desc}"').read()
if not check_comment(comment):
sys.exit(1)
sys.exit(0)
Он работает. Он даже показывает сообщение об ошибке «Комментарий не соответствует шаблону. Вы должны начинать его с« Проблема 12323: »или« Нет проблем: »»
, когда я фиксирую с консоли. Но когда я пытаюсь выполнить фиксацию из Tortoise Hg Workbench, только отображается системное сообщение: abort: pretxncommit.check_comment хук завершен со статусом 1
.
Мне нужно сообщить пользователю, что не так. Есть ли способ заставить Tortoise Hg отображать выходные данные хука?
]