gpt4 book ai didi

api - 如何在 Mercurial 进程内 Hook 中访问提交消息?

转载 作者:行者123 更新时间:2023-12-04 14:07:08 25 4
gpt4 key购买 nike

我一直在努力

def debug_hook(ui, repo, **kwargs):
changectx = repo[None]
ui.status('change.desc: %s\n' % changectx.description())
return True

但它总是打印一个空字符串。这是因为它是一个预提交钩子(Hook)并且消息还不可用吗?还是我只是错过了一些明显的东西?

最佳答案

事实证明,我最初的方法有两个问题:

  • jk 指出,precommit事件发生在提交之前,因此正在处理的提交的元数据还不存在。通过使用 pretxncommit相反,元数据存在,但事务尚未提交到数据库。
  • 使用 changectx = repo[None]为您提供工作目录的更改上下文。但是我们想要当前提交的信息,所以使用 changectx = repo['tip']而是为我们提供最新的元数据。

  • 请注意,如果您使用 changectx = repo['tip']precommit事件,您实际上会处理最后一次提交,而不是您正在处理的当前提交。

    关于api - 如何在 Mercurial 进程内 Hook 中访问提交消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2451560/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com