正如标题所说,我正在寻找CVS的替代方案。基本上,我无法在CVS服务器上设置常规,到目前为止,我的团队使用的当前设置是共享目录。
考虑到这一点,我正在寻找具有版本跟踪和文件合并功能的东西,其中我不需要经常在服务器上进行设置。
我在想,是否有类似CVS的设置,其中存储库只是一个共享网络资源(文件夹,驱动器等),用户将连接到存储库,签出他们自己的本地副本。用户所做的任何更改只会在其本地副本上存在,直到他们提交更改为止,更改将被推送到存储库。如果发现任何冲突,则将其视为在CVS上进行处理。
此外,如果它可以作为插件使用Eclipse,那将是一个额外的好处,因为这是我们团队现在正在使用的。
TIA
答案 0 :(得分:3)
答案 1 :(得分:2)
常用且支持良好的版本控制系统包括Git,SVN和Mercurial。其中,我自己使用SVN并运行一些回购,但人们倾向于说Git和Mercurial更容易使用。
您可以获取eclipse的SVN插件,名为subclipse。
其他人可能也有他们,但我不知道。
答案 2 :(得分:2)
SVN的口号是“CVS做对了”,因此使用CVS后很容易获得SVN的哲学。
但是,有些人说"there is no way to do CVS right"并建议使用Git。 Git更先进,提供分散版本控制和轻量分支等酷炫功能,但学习过程更加困难。
P.S。我用Git,我很满意!
答案 3 :(得分:2)
我没有看到你无法继续使用CVS的强烈理由。如果你有一个“共享网络资源”,就好像它是一个普通的文件系统(用户可以阅读,创建和编写文件),你可以把你的CVS存储库放在那里,让你的用户适当地设置$CVSROOT
。或者您可以使用ssh访问设置Linux或其他类Unix系统; CVS在ssh上运行良好。
如果您能够拥有共享目录,则可以使用CVS。
有很多理由比CVS更喜欢其他系统(个人而言,我已成为Git的忠实粉丝),但听起来并不像你需要立即切换。 / p>
我的建议:考虑从CVS切换到Git,但这并不紧急。
快速Google搜索表明Eclipse / CVS集成应该不是问题。
答案 4 :(得分:1)
我同意Keith Thompson关于留在CVS的声明,但是,基于对两周内实际尝试git所做的DVCS的回顾,我不能推荐git作为寻求顺利过渡到经验丰富的cv用户的顺利替代品DVCS最小化再培训。重读最后一句,同时特别注意符合条件的条款。我没有说git成为一个优秀工具的能力。虽然个人经验往往是非常主观的,但在确定使用两周后,git从未“感觉到”,以便将其作为CVS的潜在替代品来学习。在尝试它的过程中,我成功地将事情(想想存储库)搞砸了几次,以及一些我从未设法快速解决的事情。
当我跑到墙上git无法对目录进行版本化时,我认为Mercurial和Bazaar是最有可能考虑的候选人,并且发现Mercurial与git有同样的问题。在CVS中,我可以轻松地添加包含现有文件的目录,而无需在其中添加文件。 git和Mercurial似乎表现得像这样做是一件荒谬的事情。该工具要求我不能在各种用例中做有意义的事情困扰我。结果,我尝试了Bazaar,令人惊讶的是我在几分钟内感觉舒服。用git两周后,我从未这样做过。我的git存储库在几分钟内转换为Bazaar,我很乐意在不到一个小时的时间内使用它。
我目前仍在使用CVS,虽然我已经承诺使用Bazaar,但我在边缘情况下遇到过烦恼,我在应用程序中使用Bazaar,而这些应用程序在软件开发中并不常见。即便如此,作为最有可能在替代VCS中训练一组CVS同事的人,我坚信Bazaar将需要最少的再培训。在与CVS工作流程密切相关的工作流程中使用Bazaar几乎是微不足道的。与我合作的人不会通过版本控制获得他们的混蛋。他们想要一些不引人注目且易于学习的东西。我知道如果他们发现学习曲线有点吓人,他们就不会最大限度地利用VCS。
选择Bazaar并不是无关紧要的是它可以在Windows上轻松运行并与MinGW MSYS环境很好地集成。集成的Windows安装程序非常适合于希望以统一方式最小化设置工作站的工作环境 - 特别是在某些用户需要命令行工具而其他用户需要图形工具的情况下。
VCS的选择经常受到各种偏见的影响。我开始寻找DVCS而不会偏向任何特定的工具。我发现git本来就有偏见。它的发展是对CVS的强烈仇恨(参见作者对CVS的态度)以及像$ Id:$这样的CVS。 Bazaar声称它试图避免对各种工作流程的偏见,并且似乎避免反对开发人员在特定使用其他VCS时所欣赏的东西。这无疑是一个主观陈述,但我对Bazaar的经验似乎表明它是真的。
Bazaar并未提供我想要的所有内容。例如,我不满意它不支持部分结账。这在CVS中非常容易。我很生气,Bazaar操作完全失败了文件访问问题,一组文件中的单个文件被执行,但这通常不会发生在典型的软件开发用例中。我想说的是我并不是盲目地迷恋Bazaar,但我仍然相信它是在一个小型工程部门过渡到CVS的最简单的工具。
作为一个脚注,多年前加入了一个SVN开源开发团队,其明确目标是让人们熟悉类似CVS的改进VCS。我和SVN合作过很多,甚至设置了部分结账等,但我不同意SVN是“CVS做得对”。经过多年的使用,我不能负责任地选择SVN作为我组织中CVS的继承者,原因有很多。它将一组问题换成另一组问题。虽然几乎任何工具都是如此,但在考虑转换成本时,SVN的好处似乎并没有超过问题。