Tôi cần móc đơn giản cho mercurial mà kiểm tra cam kết bình luận bằng cách sử dụng mẫu. Đây là móc của tôi:Làm thế nào để hiển thị đầu ra móc trong cửa sổ nhật ký Tortoise Hg?
#!/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)
Nó hoạt động. Nó thậm chí còn hiển thị thông báo lỗi 'Comment does not match pattern. You must start it with "Issue 12323:" or "No Issue:"'
khi tôi cam kết từ bảng điều khiển. Nhưng khi tôi cố gắng cam kết từ Tortoise Hg Workbench, chỉ thông báo hệ thống mới được hiển thị: abort: pretxncommit.check_comment hook exited with status 1
.
Tôi cần thông báo cho người dùng điều gì sai. Có cách nào để buộc Tortoise Hg để hiển thị đầu ra từ móc?
Chỉ cần đoán, nhưng bạn đã thử viết thư cho sys.out thay vì sys.err chưa? – bbaja42
Có. Nó không giúp được gì. –