经验总结:SVN与CVS的区别大全

开发 项目管理
本文介绍SVN与CVS的区别问题,通过SVN与CVS的比较你一定会SVN与CVS有更加清楚地认识,希望本文能教会你更多东西。

本节讲解SVN与CVS的区别,主要包括是否更好的冲突标识与处理,是否有更多的本地/离线操作以及元数据管理问题。

更好的冲突标识与处理

通过是否进行更好的冲突标识与处理看SVN与CVS的区别:CVS和Subversion都支持通过分支与合并进行并行开发,并可以自动检测到合并时的冲突(conflicts),并在合并结果中以<<<<<<…>>>>>>标识合并的冲突部分。在CVS中,经常会出现由于用户的疏忽(如,没有注意到冲突,或没有完全处理好冲突)而将仍然带有<<<<<<…>>>>>>冲突标识符号的文件直接进行提交(commit),从而在版本库中产生垃圾版本。Subversion有效解决了CVS的以上问题:Subversion记录并保持文件的冲突状态,只有当用户明确执行svnresolved命令后,该冲突状态标识才被复位,该文件才能被提交,从而大大减少了将仍然带有<<<<<<…>>>>>>冲突标识符号的文件直接进行提交的可能性。

更多的本地/离线操作

通过是否有更多的本地/离线操作看SVN与CVS的区别:众所周知,CVS客户端的工作拷贝中包含了一个隐含目录CVS,该目录中记录了客户端需要的一些管理信息;与此类似,Subversion的客户端工作拷贝中也包含了一个隐含目录.svn,该目录中同样记录了客户端需要的一些管理信息,如版本库URL,当前访问版本号等。与CVS不同的是,Subversion的.svn目录中还包含了工作拷贝中每一个文件的一个“只读的、干净的”副本。正是由于该副本的存在,使得Subversion与CVS相比,可以执行更多的本地/离线操作,即某些操作不需要访问版本库服务器,因此不需要存在从客户端到服务器的网络链接,当然也不消耗任何网络带宽,这进一步增强了Subversion对广域网的友好支持。
Subversion的以下命令可以进行离线操作:
svnstatus-显示工作拷贝上的本地修改概况;
svndiff-显示工作拷贝上的本地修改细节,比较修改前后的内容;
svnrevert-撤销工作拷贝上的本地修改;

元数据管理

通过元数据管理看SVN与CVS的区别:与CVS相比,Subversion增加了元数据(metadata)管理机制。即可以对版本库中的文件或目录附加任意的“属性”(property),并记录属性的变化历史,也就是对元数据进行版本管理。一个Subversion属性是一个“属性名称/属性值”的二元组,如“BugNumber=100”就是一个属性,可以将该属性附加到版本N上,以说明版本N改正了编号为100的BUG。
Subversion元数据的目的是提供附件的信息以满足流程或过程自动化的需要,以增强Subversion的管理能力和自动化程度。Subversion自身就通过“属性”来存储一些特殊的信息。一个使用Subversion元数据的例子:可以在一些批处理的脚本程序或Subversion的钩子程序(hooks)中创建、访问、修改“属性”元数据来满足流程自动化的要求。

  【编辑推荐】

  1. MyEclipse6.0集成SVN及配置详解
  2. CentOS系统中安装subversion并使用svn+ssh访问
  3. 基于Java的svn客户端工具JavaSVN 1.1.0.beta发布
  4. 如何结合使用Subversion和Eclipse
  5. Subversion日期解析函数缓冲区溢出漏洞

 

责任编辑:佚名
相关推荐

2010-05-19 16:29:12

SVN与CVS的区别

2010-05-17 13:34:47

2010-06-02 09:06:26

SVN学习

2009-06-10 16:48:54

NetBeans SV攻略

2010-05-25 15:22:30

NetBeans SV

2010-05-19 16:45:26

2010-06-02 10:26:06

SVN源代码管理

2010-05-21 16:56:38

GoogleCode

2011-07-07 10:33:57

项目管理

2009-10-15 09:27:00

2010-05-24 13:45:49

Redmine中使用S

2011-07-21 13:40:17

java

2010-08-02 12:44:01

Flex3Flex4

2009-09-16 17:13:54

学习Linq

2009-09-29 16:32:11

OJB Hiberna

2009-08-19 09:24:43

AJAX引擎经验总结

2010-04-21 14:53:46

Oracle游标

2010-05-19 17:24:55

MySQL编码

2010-03-25 13:42:14

云计算

2010-03-23 11:39:49

云计算
点赞
收藏

51CTO技术栈公众号