Как показать вывод обработчика в окне журнала Tortoise Hg?

Мне нужен простой хук для 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 отображать выходные данные хука?

]
5
задан Victor Haydin 6 July 2011 в 10:20
поделиться