在Mercurial(或同等版本)中保留只读标志



我们希望防止对源代码管理中已经应用的SQL迁移脚本进行更改。有没有一种方法可以将文件(特别是SQL迁移脚本)标记为只读,并将其保留在源代码管理中?

我们可以在中央存储库中使用预提交挂钩,但这需要用户执行一些高级的mercurial操作来撤消本地提交。

如果做不到,还有其他建议吗?非常感谢。

看看AclExtension。它允许您以多种方式指定访问控制。

在您的情况下,您可以尝试将脚本设置为"只读",方法是禁止所有用户对这些文件进行所有更改(请参阅DONT-TOUCH-THIS.txt示例)。

请注意,这仍然需要一个钩子,但至少可以省去自己编写钩子的麻烦。您可以让所有开发人员都同意使用pretxncommit挂钩,这样可以在违反ACL权限的情况下阻止提交事务的发生。

最新更新