Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.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
Version control 为不太聪明的程序员设计的源代码控制系统_Version Control_Cvs_Codebase - Fatal编程技术网

Version control 为不太聪明的程序员设计的源代码控制系统

Version control 为不太聪明的程序员设计的源代码控制系统,version-control,cvs,codebase,Version Control,Cvs,Codebase,问题: 一个庞大的代码库,跨越多个 百万SLoC, 维护(支持/主动增强) 等)由一群二流/三流的人 程序员(大多数不是 真的很在乎)。几十年前,很少有人聪明 伙计们放了一个包装袋 在下面使用CVS,此系统是 被当前一代的 开发人员(90%的开发人员没有使用 直接使用简历,或听说/使用其他简历 命令行源代码控制系统) 效果: CVS和多个团队的使用 跨多个模块工作, 不可避免地=>CVS分支合并到 大旅行箱这将是一项活动 以最虔诚的方式实践 仪式上可能的方式。[=> 蛮力;提前几周计划, 涉及十

问题

一个庞大的代码库,跨越多个 百万SLoC, 维护(支持/主动增强) 等)由一群二流/三流的人 程序员(大多数不是 真的很在乎)。几十年前,很少有人聪明 伙计们放了一个包装袋 在下面使用CVS,此系统是 被当前一代的 开发人员(90%的开发人员没有使用 直接使用简历,或听说/使用其他简历 命令行源代码控制系统)

效果

CVS和多个团队的使用 跨多个模块工作, 不可避免地=>CVS分支合并到 大旅行箱这将是一项活动 以最虔诚的方式实践 仪式上可能的方式。[=> 蛮力;提前几周计划, 涉及十几个人2/4天。手动处理数百(有时数千)个来源。 有趣的是,涉及的人并不是房子的原主人 修正后,他们只需进行检查 差别;真的,我不是在开玩笑!] 这导致了很多不一致 头脑清醒的 库/模块/功能和 纠正错误花费了太多的精力 这些过程中由于回归而产生的缺陷 合并

现在,问题是:

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

因为周围的每个人似乎都喝了库莱德(并唱着“这就是所有地方的事情都是这样做的”),甚至没有考虑寻找替代品,现在是时候有人这样做了。但考虑到将使用该系统的人的类型,应记住以下方面

  • 易于使用和理解,即使是Joe Coder也应该能够毫不费力地使用它。(无论如何,这将是不需要的,因为包装将隐藏在真正的引擎盖下的东西从乡亲)
  • 一个巨大的代码库(由跨多种语言的源代码组成),在任何给定时间都有多个(大约30个)活动分支
  • 易于合并到各种分支。(考虑到变化量相当大)
  • 如果可以的话,对该系统的商业支持将是甜蜜的
  • 开发在UNIX服务器上进行(至少应在HP-UX/Solaris上运行)
  • 应能很好地扩展(数千个用户/数十万个来源)
  • 良好的文件
  • 基于浏览器的简单/清晰界面,用于比较/查看更改/副本
  • 存储库中没有二进制文件,所以不必担心它们
  • 用于将当前存储库内容导入新系统的设置 所以,请建议。有希望和出路吗?:)我很确定像git这样的东西会被彻底拒绝(他们相信“git只适合聪明人”)

    编辑:我也有Mercurial和BitKeeper的想法,并且已经向链上的人提到了这一点。希望一切顺利!
    谢谢!:)

    你可能听过一句关于好、快、便宜的老话。这一点在这里也适用。丰富的功能集带来了一定程度的复杂性。我不相信,如果不选择一个涉及一些复杂性的工具,您就可以满足这些需求。我希望你在尝试中好运,但如果是我,我会选择一个好的工具,并投入一些时间来培训用户

    我很确定像git这样的东西会被彻底拒绝(他们相信“git只适合聪明人”)
    如果这纯粹是一个“感知”的问题——他们“感知”git太复杂,试着建议Mercurial或Bazaar——他们可能对git不够熟悉,没有形成不准确的先入之见。

    Mercurial将是我的建议。为了避免“复杂”的感觉,请看 .


    这是“Joel Spolsky对Mercurial DVCS的一个友好介绍”,它为用户提供了一个优秀的教程(以及subversion恢复部分),引导他们逐步完成编辑、提交、合并等操作。

    我将放弃转向subversion的建议。这不是所有酷孩子都在使用的性感的分布式源代码管理,但是,这也是我建议它的原因,SVN应该是从CVS的一个简单迁移。它已建立,使用良好,在某些方面与CVS在概念上相似。(现在,如果您的开发人员与此相去甚远,这可能没有帮助。)

    很多很多人都做过这种迁移。有很多方法可以将您的代码从CVS迁移到SVN(但并非毫无困难)

    它应该满足您的大部分需求(尽管合并的容易程度还存在争议)


    底线是:你的挑战不是技术。这是领养。如果你的团队不想改变,它就不会。可悲的是,任何解决方案都将注定失败。你必须先让他们相信他们需要改变。最好的办法是利用他们的懒惰(我的意思是以积极的方式),并表明如果他们改变,“生活会更好”。任何工具都需要培训。我想说的是,如果你有信心你将转移到其他系统,那么花一些时间训练球员是完全有意义的,这样从长远来看会非常有帮助。
    通过查看您的需求集,我会说尝试查看svn或sos。拥有sos的优势在于,您可以在问题上获得全天候支持。他们可以处理大数据。他们还有一个很酷的浏览器界面。

    完全同意。从某种意义上说,咬紧牙关并在这个过程中投入一点资金是有利可图的。似乎代码非常重要,有了一批开发人员和庞大的代码库。谢谢比尔!如果我是决策者,我肯定会选择这条路线本身,因为即使培训似乎是一项耗费精力/时间的活动,但从长远来看,它会有很大帮助。但我必须看看“投资一段时间”的想法有多好