对于测试数据的存档,我需要一个只允许添加文件的修订控制系统。禁止修改、重命名和任何其他更改。
这将有可能用当前测试数据测试任何代码修订,并重现与以前相同的结果。
我们目前正在使用Subversion作为源代码。然而,测试数据可能是几百个文件,其中包含大约200 GB的数据。我怀疑Subversion是否能处理它。我不想把测试数据和代码放在同一个Subversion档案中,因为它只有几个MB。
此外,Subversion似乎不是解决这样一个简单问题的合适工具。
如何使用仅添加规则在subversion存储库中创建目录?
我注意到,在签出后,测试数据的大小增加了一倍,因为有一个.svn目录,其中包含每个文件的副本。我能避免浪费硬盘空间吗?只想使用数据但不想添加任何内容的人不需要它。他可以删除.svn,但在结账时仍需要大量磁盘空间。
要回答问题的第二部分,您可以进行svn导出,只获取一份数据副本。您将无法提交到该文件夹,因为它不是工作副本。我有一个远远超过200 GB的存储库。到目前为止没有问题。
Subversion是处理这种情况的合适工具,处理200GB的数据或事件多TB的数据应该不会有问题。请注意,除了"如何禁止修改"之外,你在问题中没有真正说明任何"问题",所以你问的问题并不清楚。
要禁止修改但允许添加(我真的不明白你为什么要问这个问题,只是因为你使用了一个成熟的、功能完整的版本控制来控制修改本身),请使用基于路径的授权,并将其与预提交挂钩脚本相结合。自己编写钩子脚本或使用用Python编写的svnperms
钩子脚本。
别忘了阅读文档:SVNBook 1.8。