パターンを使用してコミットコメントをチェックする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)
できます。'Comment does not match pattern. You must start it with "Issue 12323:" or "No Issue:"'
コンソールからコミットすると、エラーメッセージも表示されます。しかし、Tortoise Hg Workbench からコミットしようとすると、システム メッセージのみが表示されます: abort: pretxncommit.check_comment hook exited with status 1
.
何が問題なのかをユーザーに知らせる必要があります。Tortoise Hg にフックからの出力を強制的に表示させる方法はありますか?