我正在编写一个扩展,在回滚后能够执行一些逻辑将非常方便。
我浏览了所有关于钩子的文档,但我找不到rollback
钩子。我也尝试了post-*
钩子(即post-rollback
),但这也没有触发。我的下一步是深入研究源,但我想我会问这个问题以防有人知道。
有回滚钩吗?如果是这样,是否可以使用uisetup()
or将其连接到 Python 扩展中reposetup()
?
我正在编写一个扩展,在回滚后能够执行一些逻辑将非常方便。
我浏览了所有关于钩子的文档,但我找不到rollback
钩子。我也尝试了post-*
钩子(即post-rollback
),但这也没有触发。我的下一步是深入研究源,但我想我会问这个问题以防有人知道。
有回滚钩吗?如果是这样,是否可以使用uisetup()
or将其连接到 Python 扩展中reposetup()
?
在查看Mercurial 的源代码之后,确实,内部回滚函数 ( _rollback
) 似乎没有调用任何钩子,因此似乎没有办法与此事件相关联。
我需要回滚钩子,因为我正在编写一个扩展,它在发生变更集时维护有关变更集的元数据。代替能够绑定到回滚事件,我最终编写了一个自定义命令作为扩展的一部分,以自行自动清除任何不一致的状态(例如,对由于回滚而不再存在的提交的引用'd)。