这个问题不询问我应该使用哪种版本控制软件。相反,我想听听你认为你所使用的某些SCM的缺点。
网站和营销材料只突出了这些优势,但我希望听到那些实际使用它们的人的想法。
您是否可以列举一些您在使用或使用的SCM中发现令人讨厌或适得其反的质量或行为?
答案 0 :(得分:23)
在我最近的两份工作中,我被要求使用IBM's Rational ClearCase并计算这种不足和令人沮丧的方案每天生活的意愿,至少需要一周的时间。我最主要的抱怨是:
还有几十个小问题让我的工作效率远离我,因为我必须打击这个工具,而且我很有可能会回来编辑这篇文章,以此来宣传我每天的挫败感。
答案 1 :(得分:8)
塞丽娜的尺寸非常严重。我们过去每天都需要重新启动服务器。否则,它变得非常慢。我不确定这是实施问题还是产品问题。 您还可以参考Eric Sink博客了解有关版本控制的更多详细信息。
答案 2 :(得分:7)
我可以确认关于VSS的大部分内容mentioned here。
我被迫使用它。 : - (
答案 3 :(得分:5)
颠覆。它的分支支持非常糟糕 - 这就是为什么我最喜欢Mercurial的原因;我不在飞机上开发东西,但我确实需要分支。
答案 4 :(得分:4)
前段时间我被Serena Version Manager困住了。太可怕了。我们的存储库非常复杂,我们拥有的促销组,我们拥有的分支机构以及我们拥有的标签都是如此失控,除非您确切地知道您需要做什么,祝您好运。比以往任何时候都要复杂得多。
现在我们正在使用TFS(在家里我使用Subversion),我是一个开心的开发者。
答案 5 :(得分:3)
Subversion :服务器非常强大,但没有GUI管理客户端(编辑:确实需要一个支持选项)
我们大约一年前从Source Un safe切换到Seapine SurroundSCM;我们强烈考虑过Subversion,但我们的存储库管理员做得非常好,不是命令行专家,没有GUI管理客户端,我们维护公司源代码管理存储库的方式存在很大漏洞。
FWIW,我认为所有的SCM都有术语问题。当我们公司的许多用户不是具有完美记忆的软件工程师时,这使得切换SCM软件变得更加神奇。 VSS调用目录“项目”。 Seapine SurroundSCM调用目录“存储库”。 (Subversion也有一些讨厌的名字,但我不能想到它们现在是什么)
答案 6 :(得分:3)
Subversion有两个主要缺点。
总而言之,与许多替代方案相比,它是一个非常受人尊敬的VCS。
答案 7 :(得分:2)
尽管SCM可能是您在开发环境中可以使用的最好的东西之一,但它总是困扰我(而且这些可能是挑剔):
这就是我现在所能想到的。 :)
答案 8 :(得分:2)
这是我的个人名单。我没有声称这些要点得到了非常好的研究,但这些是我根据我的使用模式对他们的主要抱怨。
答案 9 :(得分:2)
Subversion非常慢,缺乏离线提交等功能,有时提交失败并需要更新,如果你必须使用@符号来查看你的回购,那就太难用了。
Bazaar相当不错,但大部分都不受支持(至少来源于sourceforge)。另外,我更喜欢分支/标记的颠覆模型。
答案 10 :(得分:2)
Subversion(嗯,Tortoise SVN;我认为它更像是一个客户端问题)偶尔会感到困惑,我不得不花一些时间将内容复制到一个临时文件夹,重新添加,清理等等,这样我才能让它做一个干净的更新/提交而不抱怨锁文件。
答案 11 :(得分:2)
我目前是Mercurial用户,我非常喜欢它。但它有一个缺点:如果修订树真的分支,它会变慢。其中很多都归结为一些设计选择,尤其是变更总是根据最后提交的变更(而不是父变更)进行记录。但我仍然会选择其他任何东西。
对我来说,版本控制系统有两个必要条件:(1)变更集的概念,因此原子变化保持原子; (2)简单的分支合并而不会丢失信息。基本上所有的DVCS都有这个;大多数其他VCS没有。 (Perforce接近,但总是让我觉得分支合并不会保留分支的变更集和注释序列。)
但如果我正在接受采访并且潜在的雇主告诉我他们使用CVS,我将走出面试。 (实际上,这是我通常在电话访谈层面提出的一个问题。你可以通过他们使用的版本控制系统来了解一个公司。)
答案 12 :(得分:1)
根据我对Serena Dimensions的体验,每个插件都会中断。甚至Windows资源管理器外壳集成也会降低对网络共享的访问速度以进行爬网。然后它并没有告诉你关于变化的所有信息。更改了目录树底部的文件?更高级别的文件夹叠加层不会告诉您。与Tortoise SVN相比,它是缺乏可用性的一个例子。
但我真正真的不喜欢它的是当我做一个Deliver它检测到文件更改时,然后当我做一个比较来查看差异它告诉我祖先和衍生物是相同的。如果我不相信内置的差异工具,它确定祖先和衍生物在实际上是不同的时候有多少次相同?
当基本版本控制基础不起作用时,任何人都可以构建更改控制工具。哦,如果您尝试与第三方差异工具集成,那么参数传递中的一个错误就会微妙出来。