【发布时间】:2012-07-13 13:37:39
【问题描述】:
我们有一个简单的 mercurial 挂钩,每次我们拉取远程更改时都会运行该挂钩。我们使用更改组挂钩。我们的钩子重建了一些 dll 并将它们复制到一个文件夹中。当我们进行拉动时,我们会自动变基。这会导致我们的钩子运行两次,第一次是在我们拉取时,然后是在自动变基之后。
有没有什么简单的方法可以检测是否会有变基,并且只在变基结束时运行一次钩子?
谢谢,
【问题讨论】:
我们有一个简单的 mercurial 挂钩,每次我们拉取远程更改时都会运行该挂钩。我们使用更改组挂钩。我们的钩子重建了一些 dll 并将它们复制到一个文件夹中。当我们进行拉动时,我们会自动变基。这会导致我们的钩子运行两次,第一次是在我们拉取时,然后是在自动变基之后。
有没有什么简单的方法可以检测是否会有变基,并且只在变基结束时运行一次钩子?
谢谢,
【问题讨论】:
你能展示你原来的钩子吗?
无论如何,如果你检查源参数,你可以选择钩子是否应该运行:
def changegroup_hook(ui, repo, source, **kwargs):
if source != 'strip': # rebase operation uses 'strip' as source
return 0 # SUCCESS
# continue rebase processing
【讨论】: