我一直在努力
def debug_hook(ui, repo, **kwargs):
changectx = repo[None]
ui.status('change.desc: %s\n' % changectx.description())
return True
但它总是打印一个空字符串。这是因为它是预提交挂钩并且消息尚不可用吗?或者我只是错过了一些明显的东西?
事实证明我最初的方法有两个问题:
- As jk指出,
precommit
事件发生在提交之前,因此正在处理的提交的元数据尚不存在。通过使用pretxncommit
相反,元数据存在,但事务尚未提交到数据库。
- Using
changectx = repo[None]
为您提供工作目录的更改上下文。但我们想要当前提交的信息,所以使用changectx = repo['tip']
相反,为我们提供了最新的元数据。
请注意,如果您使用changectx = repo['tip']
与precommit
事件,您实际上会得到处理的最后一次提交,而不是您正在处理的当前提交。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)