【问题标题】:Mercurial rollback hook?Mercurial回滚钩?
【发布时间】:2012-09-06 16:47:36
【问题描述】:

我正在编写一个扩展,它可以在回滚后执行一些逻辑非常方便。

我查看了所有关于钩子的文档,但找不到rollback 钩子。我还尝试了post-* 钩子(即post-rollback),但这也没有触发。我的下一步是深入研究源,但我想我会问这个问题以防有人知道。

有回滚钩子吗?如果是这样,是否可以使用 uisetup()reposetup() 将其连接到 Python 扩展中?

【问题讨论】:

  • 如果它不在文档中,那么它可能不存在。你想做什么?
  • @RichardCook:我已经构建了一个扩展,可以在提交时保留元数据(扩展将自身注册为提交挂钩)。不幸的是,由于没有回滚钩子,因此扩展程序没有明确的方式自行清理。
  • 我搜索了文档,但找不到任何东西。您可能必须编写自己的自定义命令并调用它而不是 rollback
  • @RichardCook:确实,似乎没有这样的钩子。正如你所说,我最终编写了一个自定义命令来清理不正确的状态。

标签: mercurial mercurial-hook mercurial-extension


【解决方案1】:

环顾Mercurial's source code,确实,内部回滚函数(_rollback)似乎没有调用任何钩子,因此似乎没有办法与此事件相关联。

我需要回滚钩子,因为我正在编写一个扩展,它在发生变更集时维护有关变更集的元数据。代替能够绑定到回滚事件,我最终编写了一个自定义命令作为扩展的一部分,以自行自动清除任何不一致的状态(例如,对由于回滚而不再存在的提交的引用'd)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多