【发布时间】:2012-02-16 09:31:42
【问题描述】:
我需要在人们可以推送的存储库上设置一个挂钩,这将运行一些验证(目标是在验证失败时拒绝推送)。我已经设置了一些钩子,可以在成功推送后自动更新,并防止出现多头。
我编写验证脚本(例如运行单元测试的 shell 脚本)没有问题,但它需要在完整的工作副本上运行。
我的问题是,如果我只是将它放在 pretxnchangegroup 挂钩中,它不会对更新的文件进行操作。如果我尝试在钩子中进行 hg update,那么每当验证失败并且推送被回滚时,都会导致存储库损坏。
我当前的解决方案是将存储库克隆到某个临时文件夹并在那里运行实际验证。但我觉得这有点难看,而且只进行更新的就地验证效率较低。这种钩子可以设置吗?
【问题讨论】: