本节讲解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)中创建、访问、修改“属性”元数据来满足流程自动化的要求。

 

来源:http://developer.51cto.com/art/201005/200807.htm

SVN与CVS的区别大全(转载)的更多相关文章

  1. SVN和CVS的区别

    对版本控制就有了一定的理解,同时也应该知道SVN与CVS是比较流行的两款SCM工具.那么到底这两款工具有什么区别呢? 1.版本编号方面 例如,我们的版本库为A,其中有文件a,b,c. 在SVN中,新版 ...

  2. GIT,SVN,CVS的区别比较

    Git .CVS.SVN比较 项目源代码的版本管理工具中,比较常用的主要有:CVS.SVN.Git 和 Mercurial  (其中,关于SVN,请参见博客:SVN常用命令 和 SVN服务器配置) 目 ...

  3. SVN、CVS、VSS区别

    废话不多说,撸起袖子敲黑板 !~~ #首先向大家简要描述一下SVN与CVS.VSS的介绍与对比: 介绍: 三种都是版本控制软件, 多数用于源代码管理1.CVS(Concurrent Version S ...

  4. Git学习总结(8)——Git和SVN之间的基本区别

    GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等.如果你是一个具有使用SVN背景的人,你需要做一定的思想转换,来适应GIT提供的一些概念和特征.所以,这篇文章的主要目的就是 ...

  5. 版本控制系统之SVN和GIT的区别

    版本控制器的作用: 1. 可以协同代码管理,让多人开发代码得以实现. 2. 回归到以前的任何一个时间点的代码处(好比:开始写了很多代码,后面有修改了一些,突然IDE崩溃,但是发现还是以前的代码更好,这 ...

  6. CSS颜色代码 颜色值 颜色名字大全(转载)

    CSS颜色代码 颜色值 颜色名字大全 转载处http://flyjj.com/css-colour-code.html 颜色值 CSS 颜色使用组合了红绿蓝颜色值 (RGB) 的十六进制 (hex) ...

  7. __bridge,__bridge_transfer和__bridge_retained的使用和区别【转载】

    __bridge,__bridge_transfer和__bridge_retained的使用和区别[转载] Core Foundation 框架Core Foundation框架 (CoreFoun ...

  8. svn与cvs的一些比较

    所有的文档都显示SVN可以取代CVS,同时SVN的问题和缺点都被隐藏了.不幸的是,我们并不认为SVN是CVS的替代品,尽管很多缺陷都被修改了.更有甚者,它甚至让人重回VSS.CVS和SVN的比较类似与 ...

  9. svn和git的区别及适用场景

    svn和git的区别及适用场景 来源 https://blog.csdn.net/wz947324/article/details/80104621 svn的优势: 优异的跨平台支持,对windows ...

随机推荐

  1. discuz分类信息地区联动菜单字段

    1 = 河南省 1.1 = 郑州市 1.1.1 = 中原区 1.1.2 = 二七区 1.1.3 = 管城区 1.1.4 = 金水区 1.1.5 = 上街区 1.1.6 = 惠济区 1.1.7 = 巩义 ...

  2. How to Call a synchronize function asynchronizly in C#

    How to call a function asynchronizly in C# # Page1- Delegate.begininvoke, endinvoke BeginInvoke and ...

  3. 38.基于FPGA的FIR设计二

    利用fdatool工具生成的滤波器系数与用代码生成的系数不一致,在网上查询得知,fdatool生成的滤波器系数是有符号小数,而且是浮点型,而代码生成的滤波器系数是定点型有符号数,故不一样. 浮点型数据 ...

  4. P3401: [Usaco2009 Mar]Look Up 仰望

    这道题第一眼还以为是树状数组,于是乎打着打着也是能过的 ; var n,i,j,maxx:longint; h,l:array[..] of longint; p:array[..] of longi ...

  5. How to insert a character into a NSString

    How do I insert a space to a NSString. I need to add a space at index 5 into: NString * dir = @" ...

  6. 理解CSS居中

    我想很多在前端学习或者开发过程中,肯定会遇到如何让你的元素居中的问题,网上google肯定会有很多的解决方法.今天我就个人的项目与学习经验谈谈个人理解css如何让元素居中. 要理解css的居中,首先必 ...

  7. java调用http请求json

    最近遇到的问题,java如何调用http请求json: public class HttpClientUtil { private static final String CONTENT_TYPE_T ...

  8. 读《我是一只IT小小鸟》有感

          时间太瘦,指缝太宽.一晃一学期过去了,有些迷茫,但也相信未来是美好的.当我看完<我是一只IT小小鸟>这本书之后,心中更是感慨万千.每一个励志的故事都值得欣赏.深思,甚至我还幻想 ...

  9. ExtjsMVC开发过程中遇到的具体问题总结

    1.登陆相关问题 1.如何在文本框中增加提示信息             2.如何在文本框中触发回车事件             3.如何在回车事件中触发按钮的动作             总结:ht ...

  10. 【Dancing Link专题】解题报告

    DLX用于优化精确覆盖问题,由于普通的DFS暴力搜索会超时,DLX是一个很强有力的优化手段,其实DLX的原理很简单,就是利用十字链表的快速删除和恢复特点,在DFS时删除一些行和列以减小查找规模,使得搜 ...