试着和SVN合作一个大项目?

试着和SVN合作一个大项目?,svn,Svn,与SVN一起提交一个大项目是一件痛苦的事情。提交一个大约60-70MB的项目(Symfony+Zend项目)几乎需要3-4个小时。我的速度是512kbps,这是宽带。SVN存储库正在进行编码 将同一项目提交到同一个Codesion GIT存储库最多需要10分钟。 操作系统是Ubuntu Linux Linus Torvalds创建了GIT,在这里他抨击了SVN/CVS (请看当时的视频->3:00分钟的引用——“Subversion是有史以来最没有意义的项目:)”不是我,而是他在说 我一直注意

与SVN一起提交一个大项目是一件痛苦的事情。提交一个大约60-70MB的项目(Symfony+Zend项目)几乎需要3-4个小时。我的速度是512kbps,这是宽带。SVN存储库正在进行编码

将同一项目提交到同一个Codesion GIT存储库最多需要10分钟。 操作系统是Ubuntu Linux

Linus Torvalds创建了GIT,在这里他抨击了SVN/CVS

(请看当时的视频->3:00分钟的引用——“Subversion是有史以来最没有意义的项目:)”不是我,而是他在说

我一直注意到GIT速度快了无数倍,因为我认为它使用了一些GZIP压缩。还有其他原因吗

确切的小时数并不重要,但我的意思是性能


这是为什么呢?

网络连接速度以及服务于svn或git的机器的性能可能是一个问题。在本地机器上,我在不到3小时的时间内将多达10GB的文件提交给SVN。不过,从未用GIT尝试过这一点。

网络连接速度以及为svn或GIT服务的机器的性能可能是一个问题。在本地机器上,我在不到3小时的时间内将多达10GB的文件提交给SVN。但从未用GIT尝试过这一点。

在512kbps的速度下,上传60MB的数据大约需要120分钟(60000/512=117.18)。我相信,当您使用GIT时,一定有什么地方出了问题。

在512kbps的速度下,上传60MB的数据大约需要120分钟(60000/512=117.18)。我相信,当你承诺使用GIT时,一定有什么地方出了问题。

没有“没有本地GIT回购”这样的说法。GIT总是有一个本地repo,您可以签入它,然后必须显式地将本地repo推送到远程repo。如果未填充远程回购,则该推送必须至少传输一次所有60MB。即使使用压缩,数据也不会少很多,因此需要3-4分钟。最多512Kbps时,您每分钟传输3MB,这是带宽的最佳饱和,因此60MB至少需要20分钟

SVN确实有开销,因为它是基于每个文件传输的。GIT针对批量回购间转移进行了优化。这将带来不同。另一方面,您可以设置SVN repo的本地副本,在本地签入,然后复制到远程repo,这将使性能更接近GIT的数字。当然,我怀疑任何在线SVN提供商是否支持这种情况。

没有“没有本地GIT回购”这样的说法。GIT总是有一个本地repo,您可以签入它,然后必须显式地将本地repo推送到远程repo。如果未填充远程回购,则该推送必须至少传输一次所有60MB。即使使用压缩,数据也不会少很多,因此需要3-4分钟。最多512Kbps时,您每分钟传输3MB,这是带宽的最佳饱和,因此60MB至少需要20分钟


SVN确实有开销,因为它是基于每个文件传输的。GIT针对批量回购间转移进行了优化。这将带来不同。另一方面,您可以设置SVN repo的本地副本,在本地签入,然后复制到远程repo,这将使性能更接近GIT的数字。当然,我怀疑任何在线SVN提供商是否支持这种情况。

请添加有关您的设置的更多信息。回购协议在哪里运行?在什么样的服务器上,使用什么样的操作系统?@Rohit有这么大的区别是很奇怪的。你和Codesion谈过这件事吗?@Pekka-是的,我写过一封邮件,但由于SVN是按文件传输的,这可能是正常的。GIT和Hg使用压缩,因此速度更快。还记得FTP吗?传输一堆文件夹总是需要无数个小时?但只需压缩一个文件夹并通过FTP传输(然后在服务器上解压缩)——这需要几分钟?对不对?也许是同样的情况here@RohitSubversion在传输到远程repo时也使用压缩。@Pekka谢谢你告诉我这一点。我将等待codesion的答复。如果SVN使用压缩,那么我想还有一些未知的问题,只有天知道,但GIT无论如何都很好,请添加更多关于您的设置的信息。回购协议在哪里运行?在什么样的服务器上,使用什么样的操作系统?@Rohit有这么大的区别是很奇怪的。你和Codesion谈过这件事吗?@Pekka-是的,我写过一封邮件,但由于SVN是按文件传输的,这可能是正常的。GIT和Hg使用压缩,因此速度更快。还记得FTP吗?传输一堆文件夹总是需要无数个小时?但只需压缩一个文件夹并通过FTP传输(然后在服务器上解压缩)——这需要几分钟?对不对?也许是同样的情况here@RohitSubversion在传输到远程repo时也使用压缩。@Pekka谢谢你告诉我这一点。我将等待codesion的答复。如果SVN使用压缩,那么我想还有一些未知的问题,只有天知道,但GIT无论如何都是好的,他可能会在本地的GIT回购中承诺吗?没有涉及任何网络。;-)在Git中,提交总是转到本地存储库。这就是分布式版本控制的全部要点。在DVCS中,提交和发布是两件不同的事情,在CVCS中,它们是聚集在一起的。当谈到互联网带宽时,512kbps指的是位,而不是字节。所以512kbps实际上是(512/8)=每秒64kb(千字节)。而且,60MB不是60000KB,而是(60*1024)=61440KB。因此,61440KB/64KB=960秒=16分钟。也就是说,如果你的上传速度确实是512kbps,这通常不是如果你的ISP包是“512kbps”,这通常是指下载速度。也许他会提交到他的本地GIT repos?没有涉及任何网络。;-)在Git中,提交总是转到本地存储库。这就是分布式版本控制的全部要点。在DVCS中,提交和发布是两件不同的事情,在CVCS中,它们是聚集在一起的