Ben*_*per 7 version-control large-files
我正在寻找一种快速但不那么脏的方法来制作总计约80演出的一堆文件的快照.这里的问题是许多文件大约1 GB.
什么是这种类型的最好的免费版本控制系统?
我知道ZFS是一个选项,但我宁愿先尝试别的.
Subversion将处理你的> 1GB文件,大部分都有良好的沉着,但是如果有很多大的变化,期望差异的产生需要一段时间......
Subversion最佳实践有一个关于大文件的部分:
Subversion的一个很好的功能是,通过设计,它可以处理的文件大小没有限制.文件在Subversion客户端和服务器之间双向"流畅地"发送,在网络的每一侧使用一小块恒定的内存.
当然,还有许多实际问题需要考虑.虽然不需要担心千字节大小范围内的文件(例如典型的源代码文件),但提交较大的文件会占用大量的时间和空间(例如,数十或数百兆字节的文件.)
首先,请记住您的Subversion工作副本存储.svn/text-base /区域中所有版本控制文件的原始副本.这意味着您的工作副本占用的磁盘空间至少是原始数据集的两倍.除此之外,Subversion客户端遵循(当前不可调整的)提交文件的算法:
.将文件复制到.svn/tmp /(可能需要一段时间,并暂时使用额外的磁盘空间))
.在tmpfile和pristine副本之间执行二进制diff,或者在新添加的tmpfile和空文件之间执行二进制diff.(可能需要很长时间才能计算,即使最终只能通过网络发送少量数据)
.将diff发送到服务器,然后将tmpfile移动到.svn/text-base /
因此,虽然对文件大小没有理论上的限制,但您需要注意的是,非常大的文件可能需要相当多的患者等待,而您的客户端会突然离开.但是,您可以放心,与CVS不同,您的大文件不会使服务器失效或影响其他用户.