如何禁止修改版本控制系统中的所有文件

How to prohibit modifications to all files in a revision control system

对于测试数据的存档,我需要一个只允许添加文件的修订控制系统。禁止修改、重命名和任何其他更改。

这样可以使用当前测试数据测试任何代码修订并重现与以前相同的结果。

我们目前对源代码使用 Subversion。但是,测试数据可能是数百个文件,数据量约为 200 GBytes。我怀疑 Subversion 能否处理它。我不想将测试数据放入与代码相同的 Subversion 存档中,它只有几兆字节。

此外,Subversion 似乎不是解决这种简单问题的正确工具。

如何使用仅添加规则在我的 Subversion 存储库中创建目录?

我注意到,在签出后测试数据的大小增加了一倍,因为有一个 .svn 目录,其中包含每个文件的副本。我可以避免这种硬盘浪费space吗?只想使用数据但不想添加任何内容的人不需要它。他可以只删除 .svn,但结帐时仍需要大量磁盘 space。

Subversion 是处理这种情况的正确工具,处理 200GB 数据或事件多 TB 数据应该没有问题。请注意,除了 "how to prohibit modifications" 之外,您还没有在问题中真正说明任何 "problem",因此您问的问题不是很清楚。

要禁止修改但允许添加(我真的不明白你为什么问这个,只是因为你使用一个成熟且功能完整的版本控制来控制修改本身),使用path-based authorization and combine it with a pre-commit hook script. Write the hook script yourself or use svnperms hook脚本写在Python.

并且不要忘记阅读文档:SVNBook 1.8

要回答问题的第二部分,您可以执行 svn 导出以仅获取一份数据副本。您将无法提交到该文件夹​​,因为它不是工作副本。我有一个超过 200 GB 的存储库。到目前为止没有问题。