2010-09-10 46 views
4

哪个更适合在有限带宽上传输频繁更新的大文件?我一直无法找到任何比较。Git vs SVN - 网络性能(用于备份)

UPDATE

为了不排除其他的解决方案,是更好的东西适合发送增量大文件? (已经试过Unison)

+0

为什么不使用* rsync *(这是Unison使用的)或真正的备份工具,例如, * bup *(使用Git作为后端)? – 2010-09-11 09:36:16

回答

3

随着大和经常改变的二进制文件,无论是Git和SVN应基本推送相同/提交拉/更新操作。对于大文件,您受限于您发送差异的大小。 git和svn都会进行压缩,所以没有人会明显在这里获得胜利,除非其中一个对你的文件类型更好。

但是,有一个关键点:克隆这种类型的git存储库会很慢。这是因为克隆将不得不拉下所有这些差异,而不是只有最新的快照。

因此,如果您可以避开clone命令,具体来说,您可以随意使用任何最适合您的工具。

(我还会建议Dropbox的一个很好的候选人完成这个任务。)

+0

更多上下文。这些文件是DB备份;我的理解是附加新内容。为此,克隆应该与文件大小相同?我喜欢Dropbox,但它不太适合这个。 – ccook 2010-09-10 22:26:54

+0

有关Dropbox的更多信息,它在1GB TrueCrypt虚拟驱动器上运行良好。他们更新得非常快。 – ccook 2010-09-10 22:29:39

1

现在还不能给你具体的数字,但是我用SVN和git,最后一个是的方式更快。

更多宣传:http://whygitisbetterthanx.com/#git-is-fast

GIT中可以使用四种主要的网络协议来传送数据:本地,安全外壳(SSH),GIT中,和HTTP。

...

Git协议是目前最快的传输协议。如果您为一个公共项目提供大量流量,或者服务于一个非常大的项目,并且不需要用户身份验证来读取访问权限,那么您可能需要设置一个Git守护程序来为您的项目提供服务。

http://progit.org/book/ch4-1.html

和描述协议的便条:http://git-scm.com/gitserver.txt

+2

不错。嘿,你必须爱上没有传说的比较图表...... – ccook 2010-09-10 22:11:03

+1

和SVN可以使用http或svn协议。由于所有文件的加密,SSH可能会非常缓慢,并且在网络环境中本地几乎不会成为您想要的那个:) – gbjbaanb 2010-09-11 00:05:34

2

齐奏或rsync的可能是你最好的选择。在源代码控制系统中存储大量的二进制文件可能会导致头痛。