Version control 大型文件的版本控制系统?

Version control 大型文件的版本控制系统?,version-control,large-files,Version Control,Large Files,我正在寻找一种快速但不太脏的方法来拍摄一堆文件的快照,总共大约80 Gig。这里的问题是,许多文件的大小都在1GB左右 什么是最好的免费版本控制系统为这种类型的事情 我知道ZFS是一种选择,但我宁愿先尝试其他方法。Subversion在大多数情况下都会以良好的心态处理>1GB的文件,但如果有许多重大更改,则生成差异需要一段时间 有一个关于大文件的部分: Subversion的一个很好的特性是,通过设计,对 它可以处理的文件大小。文件以两种方式“流线型”发送 Subversion客户端和服务器之间

我正在寻找一种快速但不太脏的方法来拍摄一堆文件的快照,总共大约80 Gig。这里的问题是,许多文件的大小都在1GB左右

什么是最好的免费版本控制系统为这种类型的事情


我知道ZFS是一种选择,但我宁愿先尝试其他方法。

Subversion在大多数情况下都会以良好的心态处理>1GB的文件,但如果有许多重大更改,则生成差异需要一段时间

有一个关于大文件的部分:

Subversion的一个很好的特性是,通过设计,对 它可以处理的文件大小。文件以两种方式“流线型”发送 Subversion客户端和服务器之间的方向,使用, 网络两侧的内存量恒定

当然,还有许多实际问题需要考虑。虽然 无需担心大小在千字节范围内的文件(例如。 典型的源代码文件),提交较大的文件可能需要 大量的时间和空间(例如几十个文件) 或者数百兆字节大。)

首先,请记住,Subversion工作副本存储 .svn/text base中所有版本控制文件的原始副本/ 地区这意味着您的工作副本至少占用两倍的时间 与原始数据集相同的磁盘空间。除此之外,还有颠覆 客户端遵循(当前不可调整的)提交算法 档案:

。将文件复制到.svn/tmp/(可能需要一段时间,并临时使用 额外磁盘空间)

。在tmpfile和 原始副本,或在tmpfile和空文件(如果是新文件)之间 补充。(计算可能需要很长时间,即使只需一小部分时间 最终可能通过网络发送的数据量)

。发送 diff到服务器,然后将tmpfile移动到.svn/text-base中/

所以 虽然对文件大小没有理论上的限制,但是 需要注意的是,非常大的文件可能需要相当多的内存 病人在等待,而你的客户却在喋喋不休。你可以放心,, 但是,与CVS不同,您的大文件不会使 服务器或影响其他用户


你可能真的想试试,看看吧。你可能会找到你想要的东西。

二进制-尽管我不知道有任何现代版本控制系统有区分ascii和二进制的算法。我将尝试一下并在这里发布我的结果。初始提交很忙,使用file://协议,subversion平均每秒传输1.5 MB。非常慢。我们已经为此目的使用subversion大约两周了,它工作得很好。在分布在130000个文件中的大约80个Gig的数据集上签入,每晚大约需要1小时签入。每日增量为50兆。数据集中最大的一个文件是800兆。很棒,本。很高兴你发现这很有用。在单调峰会上,我们用单调本身交换了一些2GB的照片,速度相当快。