VSS和CVS的比较

VSS和CVS的比较
预览:

随着计算机应用范围的日益广泛深入, 应用软件的规模及复杂程度日趋大型化、 复杂化, 这 就导致软件开发的方式也从早期的单兵作战式或手工作坊式渐渐转变为集团化、 工厂流水线 式的团队协作开发方式。在这种开发模式中会遇到一些非常棘手的问题:

1.需要将整个软件版本恢复到以前的某一时间的状态。

2.控制某一程序在同一时间只能一个开发人员修改。

3.限制随意修改程序。

4.对每个开发人员编写的程序质量进行评估

. . .

版本管理系统则可以完美的解决以上问题。 版本管理系统有很多。 复杂而昂贵的 ClearCase , 性能良好的 HanskyFirefly 和目前最流行的 VSS 和 CVS 。

VSS 和 CVS 介绍

VSS 的全名是 (VisualSourceSafe),是微软公司开发的 VisualStudio 开发套件中的版本控制部 分,你可以通过从微软购买全套的 VisualStudio 套件,单独购买 SourceSafe 来获得。因此 SourceSafe 拥有非常好的技术支持和非常详尽的技术文档。

CVS 的全名是 (ConcurrentVersionsSystem,并发版本系统 ) ,它是一个开源项目,通过 http://www。 cvshome 。 org/网站,你直接可以获取到最新的程序或者最新的源代码,因此 CVS 的使用是完全免费的。由于 CVS 仅可以在 Unix 平台下使用,在 windows 下出现了 CVSNT(http://www。 cvsnt 。 org/)服务器和 WinCvs(http://www。 guicvs 。 org/)客户端等开源 产品

文件修改方式

VSS 主要采用独占模式 (check_out, modify , check_in), 也可以使用 (mutil_check_out, modify , check_in, merge) 模式。在 SourceSafe 使用中独占模式使用的比较为成熟和普遍,独占模式 要求每个人都必须在改动文件之前做捡出(check_out)标志,并且标志了后的文件无法被 其他人修改,即文件被独占了,在完成了修改后要及时捡入(check_in) ,释放修改权。 check_in和 check_out也是人们对版本控制最开始的印象。

CVS 采用了 (update, modify , commit) 工作方式。这是一种可以并发的版本控制方式,即每 个人都可以修改自己可访问的任意代码, 代码不会被一个人单独占用, 两个人甚至多个人可 以修改同一份代码, 并且每个人的修改结果都不会被丢失。 具体的操作过程为:在修改代码 之前先做 update , 以使本地的代码最新, 然后就可以修改代码了, 修改完毕后, 直接 commit 自己的修改结果。如果 CVS 没有发现冲突,则代码可以直接进入 CVS 资源库,否则, CVS 则标出冲突的文件的冲突部分让你做合并。

文件历史

在这一点上 VSS 和 CVS 的功能都很近似,他们都可以保存了每个文件的变化历史,并提供 了一个自动的版本号, 随时可以取出任何文件的历史版本。 并和当前版本做比较。 都提供了 自定义版本的 label 功能。 检索历史和自定版本都非常的方便。 VSS 还特别提供了对时间段, 或者操作人的历史操作查询,使一个人一段时间内对文件的操作一目了然。

项目版本管理

VSS 并有直接对项目版本管理的支持,通过 label 来自定义一个版本号,可以解决部分项目 版本管理的问题, 但这是远远不够的, 当一个产品根据用户需求产生一系列不同的项目版本 时使用 SourceSafe 将非常难以管理。

第1页/共3页 下一页>尾页