我正在寻找CVS与SVN的直接比较。 想知道主要是SVN在CVS中使用的磁盘空间更少还是更多?
答案 0 :(得分:3)
服务器上的Subversion存储库使用与CVS类似的磁盘空间量。它可能会更多一些。但是,在客户端上,Subversion(至少在旧版本中)使用了相当多的磁盘空间。这是因为Subversion客户端保留了他们下载的每个源文件的原始副本。因此,如果你有50兆字节的源代码,你的Subversion工作目录大小将达到100兆字节。
然而,这确实反映了Subversion编写时代与CVS等程序的区别。
在过去,开发人员的桌面上可能只有20兆字节的驱动器,并且每个字节的可用空间都很宝贵。 CVS使用源文件的校验和来确定源文件是否已被修改。如果工作目录中的文件已更改,则它将具有不同的校验和。但是,这意味着如果您在文件上执行类似diff的操作,CVS将不得不与服务器通信以获取原始源文件的副本。
当Subversion出现时,磁盘空间以千兆字节为单位并且便宜。因此,有足够的空间在磁盘上安装原始源文件的第二个副本。现在,当您执行svn diff
时,您没有生成任何网络流量或必须等待服务器响应。这大大加快了开发速度,设计Subversion的人认为权衡取舍是值得的。
最新版本的Subversion(版本1.7.x)具有与客户端上的工作目录不同的方式。我不知道它是如何工作的。但是,对我来说,磁盘空间是一个小问题。如果你需要更多,它足够便宜,可以获得更多。什么不便宜是你在开发中的时间和精力。开发越简单越快,就越好。
CVS在很长一段时间内没有更新。 Subversion被设计为替代品,与CVS取代RCS的方式大致相同。你应该选择Subversion而不是CVS,这有很多原因。这不是因为从事CVS工作的人是糟糕的开发人员。就是那些参与Subversion工作的人可以利用CVS十多年的经验来解决CVS所遇到的问题。
你可以谈谈Subversion vs. Git vs. Mercurial vs. Bazaar vs. Perforce,并询问谁更好。每个都是一个现代版本控制系统,每个都有自己的声誉。
然而,Subversion与CVS是不费吹灰之力的。 CVS是一个版本控制系统,不再维护,并且缺少现代版本控制系统中的关键功能。如果它是CVS和Subversion之间的选择,你可以把钱花在Subversion上。
答案 1 :(得分:0)
在这种情况下,我将cvs转换为svn,并在硬盘驱动器上找到了文件大小(当时它在我自己的笔记本电脑上),但它在svn中比在cvs中小得多,但可能已经存在一些压缩应用我不知道,但网上的一切都说svn实际上会比cvs更大。
所以我认为它对2的设置有点开放。