在Mercurial中防止使用旧版本(标签或分支)

时间:2018-10-28 13:17:25

标签: mercurial repository

有什么方法可以防止移回旧版本?

我的意思是,我想一直努力向前,而不要向后退。

1 个答案:

答案 0 :(得分:2)

利用{uriss}提供的hooks并实现对更新命令的钩子,该命令将所需版本与当前签出的版本进行比较。如果所需版本比当前已签出版本旧,则使挂钩失败。请参阅docs了解可用的钩子和一些examples

也就是说,对VCS的使用可能是不受欢迎的限制。如果是关于在生产系统上进行部署的话,那就更理智了。但是,您无需复制整个存储库及其历史记录,而只需将当前版本复制到部署目标即可。

出于部署目的,我仅检查该构建是否设置为发行版本(标记,或在jenkins中手动选择)或它是否是分支的HEAD。在这些情况下,我通过构建通过回归测试后触发了部署到生产环境:https://github.com/OpenTTD/nml/blob/master/.devzone/build/jenkins_postbuild.sh