从CVS转换时,SVN会节省我的磁盘空间吗?

从CVS转换时,SVN会节省我的磁盘空间吗?,svn,compare,cvs,Svn,Compare,Cvs,嗨,我想直接比较一下CVS和SVN。 主要想知道SVN在CVS中使用的磁盘空间是更少还是更多?服务器上的Subversion存储库使用的磁盘空间与CVS相似。可能会多一点。然而,在客户端上,Subversion(至少在旧版本中)使用了更多的磁盘空间。这是因为Subversion客户端保留了他们下载的每个源文件的原始副本。因此,如果您有50兆的源代码,那么Subversion工作目录的大小大约为100兆 然而,这确实反映了Subversion编写时代与CVS等程序的不同 在过去,开发人员的桌面上可

嗨,我想直接比较一下CVS和SVN。
主要想知道SVN在CVS中使用的磁盘空间是更少还是更多?

服务器上的Subversion存储库使用的磁盘空间与CVS相似。可能会多一点。然而,在客户端上,Subversion(至少在旧版本中)使用了更多的磁盘空间。这是因为Subversion客户端保留了他们下载的每个源文件的原始副本。因此,如果您有50兆的源代码,那么Subversion工作目录的大小大约为100兆

然而,这确实反映了Subversion编写时代与CVS等程序的不同

在过去,开发人员的桌面上可能只有20兆字节的驱动器,而每一字节的可用空间都是宝贵的。CVS使用源文件的校验和来确定是否修改了源文件。如果工作目录中的文件被更改,它将具有不同的校验和。然而,这意味着,如果您对文件执行了类似于diff的操作,CVS将不得不与服务器对话以获取原始源文件的副本

当Subversion出现时,磁盘空间以GB为单位,而且很便宜。因此,在磁盘上有足够的空间保存原始源文件的第二个副本。现在,当您执行
svn diff
时,您没有生成任何网络流量,或者必须等待服务器响应。这大大加快了开发速度,设计Subversion的人认为这种权衡是值得的

最新版本的Subversion(1.7.x版)以不同的方式在客户端上运行工作目录。我对它了解不够,不知道它是如何工作的。但是,对我来说,磁盘空间是个小问题。如果你需要更多,它足够便宜,可以得到更多。不便宜的是您在开发中的时间和精力。开发越容易、越快,您的境况就越好

CVS已经很久很久没有更新了。Subversion被设计为它的替代品,与CVS替代RCS的方式大致相同。你应该选择Subversion而不是CVS,原因有很多。这并不是因为在CVS上工作的人是糟糕的开发人员。这是因为从事Subversion工作的人可能需要用超过十年的CVS经验来解决CVS存在的问题

  • Subversion有原子签入,而CVS没有。这本身应该是决定因素。在我们实践持续改进、持续集成和变更集的时代,签入原子化非常重要。如果我修改了13个程序来修复某个问题,而CVS只签入了其中的12个,那么生成的构建是错误的。不包括特定问题所需的所有更改
  • Subversion跟踪文件名的更改和移动。CVS没有
  • 在Subversion中,撤销更改更容易。在Subversion中,我只需要知道版本号,我可以在一个命令中完成。在CVS中,我必须收集信息,并尝试找出答案。另外,Subversion恢复更改的速度要快得多
  • Subversion分支和标记更快。在许多CVS站点中,他们做了一些非常非常糟糕的程序实践,只是为了摆脱分支和标记。在CVS中可能需要40分钟或更长时间才能完成的工作在Subversion中需要一毫秒
  • Subversion在持续集成系统中工作得更好。对于CVS,CI系统必须遍历整个CVS目录结构以查找更改。在Subversion中,CI系统只需查询项目的根目录,即最新版本是什么
  • Subversion中的分支和标记有其完整的历史。你知道是谁干的,什么时候干的,为什么干的。你可以看到是否有任何修改,谁做的,为什么。CVS没有易于访问的此信息
你可以谈论Subversion vs.Git vs.Mercurial vs.Bazaar vs.Perforce,然后问谁更好。每一个都是现代版本控制系统,每一个都有自己的名声


然而,Subversion vs.CVS是一个不需要动脑筋的问题。CVS是一个不再维护的版本控制系统,缺少现代版本控制系统中应该具备的关键功能。如果要在CVS和Subversion之间做出选择,那么您就把钱投在Subversion上。

服务器上的Subversion存储库使用的磁盘空间与CVS相似。可能会多一点。然而,在客户端上,Subversion(至少在旧版本中)使用了更多的磁盘空间。这是因为Subversion客户端保留了他们下载的每个源文件的原始副本。因此,如果您有50兆的源代码,那么Subversion工作目录的大小大约为100兆

然而,这确实反映了Subversion编写时代与CVS等程序的不同

在过去,开发人员的桌面上可能只有20兆字节的驱动器,而每一字节的可用空间都是宝贵的。CVS使用源文件的校验和来确定是否修改了源文件。如果工作目录中的文件被更改,它将具有不同的校验和。然而,这意味着,如果您对文件执行了类似于diff的操作,CVS将不得不与服务器对话以获取原始源文件的副本

当Subversion出现时,磁盘空间以GB为单位,而且很便宜。因此,在磁盘上有足够的空间保存原始源文件的第二个副本。现在,当您执行
svn diff
时,您没有生成任何网络流量,或者必须等待服务器响应。这大大加快了开发速度,设计Subversion的人认为这种权衡是值得的

最新版本的Subversion(1.7.x版)以不同的方式在客户端上运行工作目录。我对它了解不够,不知道它是如何工作的。但是