有没有办法阻止SVN中的任何更改?
我们希望检查版本比我们想冻结项目(阻止任何SVN更改)。有什么办法吗?我不想创建分支。我只是想在几个小时内冻结项目。有没有办法阻止SVN中的任何更改?
最好的方法是说一下: 如果你没有登录(allowLoginsUser数组),那么“你还没有提交!”并阻止 其他“允许提交”并提交
有什么办法吗?
您应该查看svn lock
命令。
你可以在SVN book's 'Locking' chapter找到更多关于它的信息。
通常情况下,你会做这样的事情
svn lock -m "Freeze project for a few hours" PATH
# do what you need to do
svn unlock PATH
其中PATH
是你的仓库。
您只能锁定文件,而不能锁定文件夹。所以你需要为每个文件写asvn lock命令。 –
你说得对,应该在每个文件的基础上应用锁定。你关于使用几个'authz'文件的想法实际上是更简单的(并且在[这里](http://stackoverflow.com/a/2225859/1374267)中有描述)。 –
您可以暂时编辑./conf/passwd文件(如果您使用的是密码用户身份验证)并在用户名前注释掉所有用户“#”。保存文件并重新启动SVN服务器。
然后取消注释掉他们的名字。
您有几种选择:
- 供所有用户使用的AuthZ的基于路径的授权,禁止写访问
-
使用pre-commit钩子被禁用特定的资源库的所有写访问放置一个
exit 1;
进去
- 使用更先进的pre-commit钩子,examinig已更改的文件,如果冻结项目发生
他们被困难和精力开始对最简单的排名拒绝访问。
1.5。在基于路径的授权中使用访问控制组以允许_(allowLoginsUser数组)提交。 [链接](http://svnbook.red-bean.com/nightly/en/svn.serverconfig.pathbasedauthz.html) – grams
@grams:你完全正确的感谢你添加它! –
你为什么不分支?这是这些默认的工作模式。 –
因为这不是里程碑。一个开发团队想要在我们的主要图书馆中输入大的变化。他准备了涵盖95%左右代码的极端大型单元测试。我们必须在测试中冻结这个项目。 –