哈哈的笔记 https://bbs.21ic.com/?405497 [收藏] [复制] [RSS] 没有,等我想到了再写吧

日志

程序开发管家婆-----CVS

已有 865 次阅读2008-1-14 16:23 |系统分类:嵌入式系统


作为软件开发人员,你应该深知管理许多源代码文件的众多版本非常令人苦恼,尤其是在必须协同其他人一起开发管理这些文件的时候。



  • 你是否用带日期的文件夹来保存项目文件的各个版本?你有多少个这样的文件夹?
  • 在上一次调试完成后你对代码作了那些修改?为什么要修改?
  • 你如何才能将代码恢复到先前某一个版本?
  • 到底是谁在何时修改了哪个文件?
  • 在项目里究竟哪些文件的哪些修正版是上次测试通过的?
  • 你编辑某个文件时会不会和另一位也在编辑这个文件的人发生冲突?

这些只不过是你将会遇到的诸多问题的其中几个而已。CVS是开放源码世界中对这类问题的解答。
       CVS是Concurrent Versions System的简称。它是现今Open Source成功发展的幕后功臣之一。CVS 解决多人合作开发时程序版本控管的问题,通常会再搭配邮件列表(Mailing List)做为开发团队沟通的管道。这种组合,使开发团队不受时间地域限制,合作伙伴分散全世界,且团队大小没有上限,因此 Open Source才能集合世界各地高手,不断地薪火相传、不断地推出高品质的自由软件。
        CVS这个源代码管理工具可以为文件创建仓库,让你可以和其他人一起协同管理文件。你和其他人可以把想要编辑的文件调出来,做任何必要的修改,接着再把文件放回去。当多人编辑相同的文件时,CVS会尽可能自动合并修改过的地方;在无法自行解决的情况下,CVS会把造成冲突的各种来源标示出来。无论是哪一种情况,你都不用担心编辑时文件会无意间被改写或删除。
        CVS是个功能十足的工具,除了上述的功能,它还能做很多事。例如,在某版本的软件发布前,你可以用标记来标示该版软件所包含的源代码文件的版本。这样,日后才有可能调出相同的文件,让你得以重建该版软件。
        CVS是一个并行版本控制系统,它采用C/S模式,它的复杂度和功能性属于中等,是当今最流行的版本控制系统。它有两个基本的特点:



  • 保存修改记录:保存了所有文件的修改历史,并可以建立分支
  • 协作与并行:CVS不推荐使用lock-modify-unlock的串行的工作模式,而采用多人可以并行地修改同一个文件,而在提交时合并冲突(merge conflict);它更适合于大型的工作团体。

使用CVS的好处:



  • 文件集中管理,大家都可以方便的看到所有人员的最新文件,规范化了文件的管理
  • 可以查看以前任何的一个版本或修改历史
  • 可以同时维护多个版本和分支

在嵌入式开发中,我们一样可以使用版本控制软件来管理我们的代码,甚至可以用来协助管理我们的团队开发。实际上在很多软硬件开发环境中都已经集成了各自的版本控制功能,如VC里的VSS、Keil C里的SVCS甚至Protel里也带有版本控制模块。但是由于上面提到的这些模块都只能在其各自的开发环境内使用,所以建议统一使用CVS对开发中各种文档、代码和图纸进行版本控制。


CVS中文手册:http://www.soforge.com/cvsdoc/zh_CN/index.html


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)