cvn和cvs的区别许多牛人总结.doc_第1页
cvn和cvs的区别许多牛人总结.doc_第2页
cvn和cvs的区别许多牛人总结.doc_第3页
cvn和cvs的区别许多牛人总结.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

开发SVN的理由是什么? 上次在googletechtalk上看了Linus对于版本控释系统的评价, 现在linux内核开发用git,以前用的是bitkeeper。 他对SVN的评价是,历史上最没有意义的一个项目。大家用SVN的动机是啥?个人认为,也许svn在内核开发方面“最没用”,如果真的那么没用,为啥很多项目转向使用svn呢呵呵偶个人比较喜欢svn,偶觉得在某些方面它比cvs好懂,有些功能(比如对目录的处理)比较吸引人:) 1:图标覆盖功能(仅限TortoiseSVN),方便的看出当前文件的版本控制状态。2:提交时所有文件版本号统一增1(虽然有的文件一点都没有变),较之cvs每个文件一个版本,好记且提取历史版本方便。3:便捷的文件操作功能(仅限TortoiseSVN)实现与Window无缝链接,目录操作就是一个优势)。本人看重第2点. 去年过的一个项目同时用到SVN和CVS当时代码是用CVS控制,项目资料及文档由SVN控制,应该说各有长处吧 楼上小白了,svn就是用来取代cvs的,对代码的控制是做的最好的一部分。能够重构,能够对目录进行操作。就这两条就够让我转向svn了。 版本控制 平民化 应该是 主要的原因。linux下的版本控制配置一般人搞不了而subversion的配置方法很简单且强大,简单是说配置容易上手强大是说可以精确到目录级别的控制。以前总结的:1、目录版本控制CVS 只能追踪单独档案的历史, 不过 Subversion 实作了一个 “虚拟” 的版本控管档案系统, 能够依时间追踪整个目录的更动. 目录和档案都被纳入版本控管. 最后, 客户端有真正可用的 move (移动) 与 copy 指令.2、不可分割的送交一个送交动作, 不是导致所有更动都送入档案库, 就是完全不会送入. 这让发展人员以逻辑区段建立更动, 并送交更动.3、纳入版本控管的描述数据 (Meta-data)每一个档案与目录都附有一组隐形 “性质 (property)”. 你可以自己发明, 并储存任何你想要的键值对. 性质是随着时间来作版本控管的, 就像档案内容一样.4、选择不同的网络层Subversion 有抽象的档案库存取概念, 可以让人很容易地实作新的网络机制. Subversion “先进” 的网络服务器, 是 Apache 网页服务器的一个模块,它以称为 WebDAV/DeltaV 的 HTTP 变体协议与外界沟通. 这对Subversion 的稳定性与互通性有很大的帮助, 而且额外提供了许多重要功能: 举例来说, 有身份认证, 授权, 在线压缩, 以及档案库浏览. 另外也有小而独立的 Subversion 服务器程序, 使用的是自订的通讯协议, 可以很容易地透过 ssh 以 tunnel 方式使用.5、一致的数据处理方式Subversion 使用二进制差异运算法, 来表示档案的差异, 它对文字 (人类可理解的) 与二进制档案 (人类无法理解) 两类的档案都一视同仁. 这两类的档案都同样地以压缩形态储存在档案库中, 而且档案差异是以两个方向在网络上传送的.6、HackabilitySubversion 没有任何的历史包袱; 它主要是一群共享的 C 链接库, 具有定义完善的 API. 这使得 Subversion 便于维护, 并且可被其它应用程序与程序语言使用.个人认为有几点:1.可以控制到目录(并可进行共享)2.每次提交的事务性3.统一的存储方式(二进制),并能智能比较差异。(在CVS中经常会出现二进制文件被当作文本处理的情况).在使用上介于CVS和VSS之间,像是集二者之所长。 个人认为SVN有一下特点:1.目录版本化CVS只对单个的文件版本管理支持,而SVN支持虚拟目录版本管理。2.同名文件版本管理支持CVS同名文件的版本历史无法很好管理,但是SVN可以做到3.原子提交cvs文件提交,svn对改变的原子进行提交管理4.版本化的元数据5.可选择的网络层6.数据操作一致7.分支标签操作高效8.可修改性 可以这样看cvs比较简单一点,svn是cvs的一个升级版本。像许多开发平台就集成了cvs,如eclipse,netbeans等,这些版本控制在IDE中很实用,方便。 内核往往是几个或一个内核牛人写的,对于内核牛人来说版本控制都是无聊的东西,更何况是SVN,但SVN确实是比较好的版本控制工具,我不认为牛人的说法对,只是他看来,他的观点,并不适用于大众哦 我们现在从CVS转向SVN据说有两点原因:1 场地内没有CVS2 项目为开源项目我在说说,我使用vs2008开发,结合SVN(vs插件,桌面都使用),真是痛苦1.vs项目中,存有 .sln .suo(每次添加文件后,.sln .suo会有变化),如果一个人操作还可以,如果遇到同时几个人对项目添加,删除,改名。那么这个项目就完了,一塌糊涂。2.本人喜欢用vss和vs2005/8系统无缝结合。咋用咋舒服。请各位有补足说明。 cvs、svn这二种配置控制工具跟2005/8的配合都不怎么好用吧,我们公司现在刚在转用SVN。与VS2005配置合好多问题。不过CVS对文档的版本控制还还不错的,SVN对(JAVA、C+开发的)代码控制也很好的 我用过很久的cvs,试用过subversioncvs的不足,或者说subversion的N多好处,并不象介绍那样好就拿楼上说的几点好处来说吧目录版本化。确实是cvs的不足。真实的版本历史。确实是cvs的不足,cvs文件无法改名,无法移动,改名后相当于从头开始,当然,以前的老文件的版本信息都在。版本号元数据。有意义,但是不大。原子提交,只有项目巨大,同时提交的人N多而且导致冲突时才有一点点意义高效的分支和标签操作,这个我看过文章介绍,因为cvs和subversion数据保存的方式不同,导致不同的操作差异较大,简单的说就是某些操作可能cvs快很多,某些操作可能subversion快很多。另外,这年头的机器速度,99%的程序员所能接触到的版本管理的规模用这两个中任何一个都速度很快。可扩展性。99%的人没用过的功能。可以选择数据库和纯文件的版本库实现。这个也是优势?subversion其实还有个优点是权限控制比cvs强,cvs基本无法控制权限,需要操作系统配合设置文件、目录的属性来控制,所以比较麻烦,对用户要求较高。不过试用subversion之后也感觉它有些不足。第一个不足是对中文的支持,cvs随便装一下支持中文就很好,subversion想让它支持中文目录名、中文文件名,支持中文注释还是需要一定的能力的,网上随便找找文章就可以看到这一点。第二个严重问题是checkout出来的文件是当前系统时间,无法checkout出提交时间或者是文件的原始时间的文件来。这一点在某些应用场合是致命的错误,更要命的是这个错误找不到什么简便的方法来解决。楼上这么多subversion的高手有谁知道办法?cvs我用了这么多年,知道它有一些问题,基本都可以想办法解决,或者说问题并不严重,只有一个问题很恶心,就是当前模块新增文件,如果带比较复杂的目录树,cvs无法一次增加,只能一个目录一个目录增加,很麻烦,也找不到什么简单的方法。除此之外,就我的感受,cvs挺好的。Linus说subversion无意义的目的是为了推它的git吧也许subversion真的是个过渡产品,前面有cvs,后面有git两头不落好,又没什么真正NB的地方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论