5

问题

跨越数百万 SLoC 的庞大代码库,由一大群二流/三流程序员(其中大多数并不真正关心)维护(支持/积极增强等)。几十年前,很少有聪明人会在下面安装一个使用 CVS 的包装器,而这一代开发人员正在使用这个系统(其中 90% 的人没有直接使用过 CVS,或者听说过/使用过另一个命令行源代码控制系统) .

效果

使用 CVS 和跨多个模块工作的多个团队,不可避免地 => CVS 分支合并到主干。这将是一项以最虔诚和最仪式化的方式进行的活动。[=> 蛮力; 提前几周计划,涉及十几个人,为期 2/4 天。手动处理数百个(有时数千个)源。 有趣的是,所涉及的人并不是修复程序的原始所有者,他们只是通过检查差异来进行;真的,我不是在开玩笑!] 这导致库/模块/功能的健全性存在很多不一致,并且花费了太多精力来纠正由于这些合并过程中的回归而导致的缺陷。

现在,问题是:

什么替代的源代码控制系统可以带来一些积极的变化并改善程序员/经理和环境中其他所有人的生活?

由于周围的每个人似乎都喝了 KoolAid(并唱“This-is-how-things-are-done-everywhere”),甚至没有考虑寻找替代品,现在是时候有人这样做了。但是考虑到将使用该系统的人的类型,需要牢记以下几个方面。

  1. 简单易用 && 理解,即使是 Joe Coder 也应该可以毫不费力地使用它。(无论如何这都不是必需的,因为包装器会对人们隐藏真正的引擎盖下的东西)
  2. 一个巨大的代码库(由多种语言的源代码组成),在任何给定时间都有多个(大约 30 个)活动分支。
  3. 轻松合并到各个分支。(考虑到变化量非常大)
  4. 如果可以的话,对该系统的商业支持将是甜蜜的。
  5. 开发发生在 UNIX 服务器上(至少应该在 HP-UX/Solaris 上运行)
  6. 应该可以很好地扩展(成千上万的用户/数十万个来源)
  7. 好的文档
  8. 简单/清晰的基于浏览器的界面来比较/查看更改/副本。
  9. 存储库中没有二进制文件,因此不必理会它们。
  10. 将当前存储库内容导入新系统的规定。

所以,请建议。有希望&&出路吗?:)我很确定像 git 这样的东西会被彻底拒绝(他们相信“git 只适合聪明的人”)

编辑:我也想到了 Mercurial 和 BitKeeper,并且已经向链上的人们提到了它。期待最好的!谢谢!:)

4

5 回答 5

8

您可能听说过关于好、快和便宜的老话。这里同样适用。丰富的功能集带来了一定程度的复杂性。我不相信您可以在不选择会涉及一些复杂性的工具的情况下满足该要求列表。我祝你尝试成功,但如果是我,我会选择一个好的工具并投入一些时间来培训用户。

于 2010-07-23T16:07:12.297 回答
3
我很确定像 git 这样的东西会被彻底拒绝(他们相信“git 只适合聪明的人”)

如果这纯粹是“感知”问题——他们“感知”git 太复杂,请尝试建议 Mercurial 或 Bazaar——他们可能对它们不够熟悉而形成了不准确的先入之见。

于 2010-07-23T16:12:03.697 回答
3

Mercurial 将是我的建议。为了避免“复杂”的感觉,看看 这个网站

它是“Joel Spolsky 对 Mercurial DVCS 的友好介绍”,它为用户(和颠覆恢复部分)提供了一个极好的教程,引导他们逐步完成编辑、提交、合并等。

于 2010-07-23T17:01:44.410 回答
1

我将放弃迁移到 Subversion 的建议。这不是所有酷孩子都在使用的性感分布式源代码控制,但是,这就是我建议它的原因,SVN 应该是从 CVS 轻松迁移的原因。它是成熟的、使用良好的,并且在某些方面在概念上与 CVS 相似。(现在,如果您的开发人员与此相距甚远,那可能无济于事。)

很多很多人都做过这种迁移。有一些实用程序可以将您的代码从 CVS 迁移到 SVN(但并非没有一些痛苦)。

它应该满足您的大部分要求(尽管合并的容易程度值得商榷)。

底线是:您的挑战不是技术。是领养。如果你的团队不想改变,那就不会。可悲的是,任何解决方案都将注定失败。你必须先说服他们他们需要改变。最好的办法是迎合他们的懒惰(我的意思是以积极的方式),并表明如果他们改变,“生活会变得更好”。

于 2010-07-23T17:21:52.600 回答
0

任何工具都需要培训。我想说的是,如果您确信自己将转向其他系统,那么花一些时间来培训这些人是完全有意义的,这样从长远来看这将非常有帮助。通过查看您的要求集,我会说尝试查看 svn 或 sos。拥有 sos 的好处是您可以在问题上获得 24*7 的支持。他们可以处理大数据。他们还有一个很酷的浏览器界面。

于 2010-07-23T21:20:24.957 回答