Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Svn 有什么理由仍然使用CVS吗?_Svn_Version Control_Cvs - Fatal编程技术网

Svn 有什么理由仍然使用CVS吗?

Svn 有什么理由仍然使用CVS吗?,svn,version-control,cvs,Svn,Version Control,Cvs,考虑到Subversion基本上是为了取代CVS而编写的,在这一点上是否有令人信服的理由继续使用CVS进行版本控制?是的,如果您是不愿意更改的大型组织的一部分 如果你问选择CVS作为新安装的一部分是否好,我想不出一个好的理由。现在我想选择SVN还是GIT,这取决于哪个更适合贵公司的发展战略。我将扭转这个问题。是否有令人信服的理由切换到Subversion?我们使用CVS,它可以很好地用于我们的东西。我们完全看不到转换带来的商业利益 与所有决策一样,它应该进行成本/收益分析,以确定是否值得。你的问

考虑到Subversion基本上是为了取代CVS而编写的,在这一点上是否有令人信服的理由继续使用CVS进行版本控制?

是的,如果您是不愿意更改的大型组织的一部分


如果你问选择CVS作为新安装的一部分是否好,我想不出一个好的理由。现在我想选择SVN还是GIT,这取决于哪个更适合贵公司的发展战略。

我将扭转这个问题。是否有令人信服的理由切换到Subversion?我们使用CVS,它可以很好地用于我们的东西。我们完全看不到转换带来的商业利益


与所有决策一样,它应该进行成本/收益分析,以确定是否值得。你的问题没有给我们足够的信息来帮助你。

我只听过一个支持CVS的好论点,那就是当你有一个项目有许多不同的版本和分支时,在CVS中,当你需要它时,只需将任意文件推送到你需要的分支或标记中就更容易了。SVN在这些方面更为正式,并且更难根据需要选择一个文件并将其合并。这是一件危险的事情,但就像直接内存指针一样,有时候你只需要它们

这就是说,如果CVS已经到位,那可能是另一回事。这就是微积分,在转换中也有好处。一种可能是SVN使您能够更好地在与办公室断开连接的笔记本电脑上编写代码。您可以安排文件的添加和删除,并且可以在返回办公室时签入

一些组织不会梦想让他们的开发人员在笔记本电脑上发布源代码,所以这不适用于他们

我的观点是SVN应该是新项目的默认选择。它是成熟的,它的工具支持与CVS一样好,即使在某些情况下没有更好的支持,并且与CVS相比没有任何重要的缺陷


话虽如此,GIT正在崛起。它仍然有点不成熟(例如Windows支持还没有达到成熟阶段),工具支持仍在追赶,但如果分布式分支对您很重要,那么值得一看。

如果您重命名文件(想到Java重构),您会喜欢SVN,因为它保留了文件的历史记录,并且如果您签出旧版本,它能够恢复以前的目录结构。CVS没有这个功能,因为它只对文件进行版本设置,而不是目录。好吧,很好,如果你重命名或移动文件,SVN会更好-这是你成本/收益分析的一个良好开端[成本=改变的努力,收益=那一个(毫无疑问还有其他人)]。问题仍然存在:收益是否大于成本?YMMV,但至少对我们来说,SVN在更新和提交时比CVS快得多。@Pax我同意,如果它对您有效,那么更改没有任何好处。古老的“永不改变运行的系统”成语。但是“对我有用”也不是一个通用的论点;-)仅在引用完整性方面,CVS的升级成本是值得的。它与命令兼容,没有最终用户学习曲线(除了工作副本)。“在CVS中,只需在需要时将任意文件推送到所需的分支或标记中就更容易了”-哎哟,真让人伤心!当你想绕过版本控制时,为什么首先要进行版本控制?@lothar,正如我所说的,这很危险,但是如果你说你必须在某个分支中为某个客户拥有的某个版本进行修复,并且你想确保没有其他更改。当然是专门的案子。如果您有一个代码库,一次一个卖给专业客户,它可能会派上用场。svn使编辑任意分支变得简单和容易,而svn中的分支是零拷贝工作。在CVS中不是这样,我也不想对CVS中的分支进行这样一次性的类型修复。CVS非常棒,它是RCS的一个改进。但是1994年是15年前了,是时候继续前进了。世界变得更加复杂和危险。:-)一个原因可能是工具集成。CVS通常在所有现代IDE中都得到很好的支持,但subversion或git可能不受支持(看看Eclipse就知道了)。IntelliJ支持所有这三个。我知道Eclipse现在肯定支持Subversion(Subclipse插件),在我看来,现在应该在git和Perforce之间做出选择。Eclipse附带了一个名为Egit的插件。甚至VS也支持git。游戏工作室有时会选择Perforce,因为它能很好地处理海量文件的大额回购协议,而且对于非技术人员(如艺术家)来说,它使用起来很方便。但我不知道为什么还有人会选择Subversion作为新项目。