Mercurial:将传入的推送重定向到单独的回购
Mercurial: Redirect an incoming push to a separate repo
我正在寻找一些解决方案,将对生产服务器中分支的推送重定向到其他一些 Mercurial 服务器。然后我可以触发一个钩子,运行 一些基本测试,只有在我的测试通过时才将更改发送回生产服务器。
如何将传入的更改重定向到另一个 Mercurial 服务器?
如何将它们合并回生产服务器?
到目前为止,我已经研究了 pretxnchangegroup.HOOK_NAME、pre-HOOK_NAME、incoming-HOOK_NAME,但我还没有深入使用它们。
重定向可能很困难,可能需要在代理级别或类似级别进行 - IIRC 你不能用钩子来做......但是可能有类似的解决方案来实现你想要实现的目标:
让人从一个存储库中 PULL(我们称之为 'vetted')
让人们推送到另一个存储库(我们称之为 'testing')
因此,在 'testing'- 存储库中接受贡献者的更改,只要它们处于草稿阶段。将其设为 non-publishing repository 并使用 hooks:
使用 pretxnchangegroup 挂钩快速测试传入的更改
理智(例如,他们确认编码风格并提交消息
样式,也许传入的更改是草稿阶段)
使用变更组挂钩(因此当变更集已经被接受时
让你的 CI 运行 通过
changegroup 钩子(不是你想要推送到的 pretxnchangegroup
成功并且在所有构建测试完成之前不会挂起)。通知
结果的提交者。如果测试成功,那么您可能
使用此挂钩将成功测试的变更集推送到您的
'vetted' 存储库,否则 p运行e 失败的变更集
来自 'testing' 存储库的构建测试。
我正在寻找一些解决方案,将对生产服务器中分支的推送重定向到其他一些 Mercurial 服务器。然后我可以触发一个钩子,运行 一些基本测试,只有在我的测试通过时才将更改发送回生产服务器。
如何将传入的更改重定向到另一个 Mercurial 服务器? 如何将它们合并回生产服务器?
到目前为止,我已经研究了 pretxnchangegroup.HOOK_NAME、pre-HOOK_NAME、incoming-HOOK_NAME,但我还没有深入使用它们。
重定向可能很困难,可能需要在代理级别或类似级别进行 - IIRC 你不能用钩子来做......但是可能有类似的解决方案来实现你想要实现的目标:
让人从一个存储库中 PULL(我们称之为 'vetted') 让人们推送到另一个存储库(我们称之为 'testing')
因此,在 'testing'- 存储库中接受贡献者的更改,只要它们处于草稿阶段。将其设为 non-publishing repository 并使用 hooks:
使用 pretxnchangegroup 挂钩快速测试传入的更改 理智(例如,他们确认编码风格并提交消息 样式,也许传入的更改是草稿阶段)
使用变更组挂钩(因此当变更集已经被接受时 让你的 CI 运行 通过 changegroup 钩子(不是你想要推送到的 pretxnchangegroup 成功并且在所有构建测试完成之前不会挂起)。通知 结果的提交者。如果测试成功,那么您可能 使用此挂钩将成功测试的变更集推送到您的 'vetted' 存储库,否则 p运行e 失败的变更集 来自 'testing' 存储库的构建测试。