QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2285|回复: 3

讨论版本控制系统:subversion的前世今生

[复制链接]
发表于 2005-6-19 23:19:02 | 显示全部楼层 |阅读模式
[来自CSDN专题报道]:Subversion是不是只是一个过渡产品?
   目前,有许多商业与开放源码的版本控制系统存在。 在开放源码界, 最早出现的大概就是 SCCS, 其后又演变成为了RCS。以后的发展使得CVS几乎成为了开放源代码专门的标准版本控制系统,大多数的开放源代码专门都有提供 CVS 的档案库让一般使用者来取得专门的源代码。但随着开放源代码社区的快速成长,CVS的瓶颈渐渐显现出来。于是,类似于Aegis、Bitkeeper或是 Perforce这样的工具不断涌现。但因为版权问题,都无法动摇CVS在开放源代码社区的地位。也正是在这种背景之下,Subversion出现了。
Subversion被业界寄予厚望,就连KDE这样的项目也采用了Subversion。但是,正如Subversion是在CVS的基础上被开发出来一样,它的后继者也不断涌现。如实现了离线版本控制的SVK、实现了专门追踪的KT等。由此也引出了一系列的问题:Subversion能否替代CVS?它本身又是否只是一个过渡产品?这些问题吸引着我们去走近Subversion。


                                            § 初识版本控制系统 §

    一个版本控制系统最基本的功能就是记录每次修改的地方,并且可以让使用者方便地存取各个版本、比较版本差异。更进一步的,是建立一个多人开发的环境,可以计录每个人的修改,解决版本冲突的问题。

    Subversion项目开始于2000年2月,作者之一是著名的 Open Source Development with CVS 作者Karl Fogel,也是CVS的开发者。Subversion开始由CollabNet所有,但是它确实是一个开源的软件,遵从bsd样式的许可证。

    长久以来,在开源世界中,CVS(Concurrent Versions System)一直都是版本控制的首选,但是现在,用户有了另一个选择。它的初始目标很明确,实现绝大部分CVS的已有功能;充分考虑现有的CVS用户,在使用方式上模仿CVS,同时开发了一系列工具,使得基于CVS的项目能够顺利迁移到 Subversion上。和CVS相比,它有很多优点,例如目录版本控制、不可分割的提交、一致的数据处理方式和更有效率的分支与标记等。

    要预测接下来自由软件社区会有什么好玩的工具出现,确实是相当困难的。可是对于目前的国外社区中,有些趋势似乎在逐渐成型。这些部分,国内显然也有些社区朋友已经注意到了,那就是主动的参与相关社区的发展与讨论进而参与成为协助开发的角色。

附:三种最新自由软件管理开发工具介绍  http://blog.csdn.net/CSDN_document/archive/2005/06/08/390500.aspx


                                                     § 技术篇 §

    Subversion 的新功能包括 atomic commit, directory versioning, file renaming 等等。除了使用 svnserver 作為服務器(可如 CVS 般使用 SSH 作認證),亦能配合 Apache httpd 2.0 使用以達到更 fine-grained 的 access control。

    我需要一个在windows平台下可以运行的强大的版本控制软件,sourcesafe功能太少。cvsnt是我目前使用的软件,但是我觉得配置还是太麻烦。我选择subversion是因为据说Subversion是"更好的cvs",是跨平台的,是开源的,最重要的是提供了将我的cvs repository转为subversion repository的工具。

    Subversion和CVS相比,除了包含了CVS的全部特性之外,也加入了新的理念。Subversion具有两种服务模式,一个是作为Apache的模块,另一个是自定义协议的Subserve服务。

    版本控制工具早已经成为许多程序员的主要工具之一 ,特别是那些时常对软件代码作了微小的改动却隔了一天就撤销的程序员们。只要人们 使用计算机来管理经常变更的信息,就需要使用版本控制工具。而这正是 Subversion 可以展示自己的地方。

附:使用 Subversion 进行版本控制 http://blog.csdn.net/CSDN_document/archive/2005/06/09/390892.aspx

附:Subversion 相关站点
Subversion 官方网站
http://subversion.tigris.org/
Version Control with Subversion(SvnBook)
http://svnbook.red-bean.com/
中译版
http://freebsd.sinica.edu.tw/~plasma/svnbook/
http://www.cyberpunk.cn/trans.aspx?id=131
《使用 Subversion 进行版本控制》
http://www.cyberpunk.cn/n123c40.aspx


  自我感觉Subversion对CVS的改进主要体现在目录和原子操作上,但是对一些概念的变化我有点难以接受,如版本分支的建立等。而且速度好像没有CVS那么快速,透明度也差了一些。而我在VC7上使用Subversion 也有一段时间了,倒是认为基本可以代替VSS,不过和VC IDE的密和程度有待提高。 由于最近关于BitKeeper的传闻风行,连OpenSource几位大哥为了这个软件都大打出手,可见现在开源SCM系统功能上还是欠缺了不少,Subversion 还有好多的路要走。
--
我已经学会在花与阳光里微语的意义。 --再教我明白你在苦与死中所说的话吧。
I have learnt the simple meaning of thy whispers
    in flowers and sunshine  --- teach me to know thy
        words in pain and death.
http://xsinuz.blogchina.com/xsinuz/inc/3.jpg
※ 来源:.天大求实BBS http://bbs.tju.edu.cn [FROM: 202.113.13.188]
发表于 2005-6-19 23:28:51 | 显示全部楼层
至少KDE已经从CVS迁移到svn了,我在操作上并没有什么不便。
回复

使用道具 举报

发表于 2005-6-21 15:16:40 | 显示全部楼层
我觉得svn文件存储方式不太好,不象cvs那样用plain file方式,一旦出现磁盘错误,受损的面积比cvs大。
原子提交是比cvs好的地方。
其实cvs配合cvstrac使用,管理起来还是很方便的。
回复

使用道具 举报

发表于 2005-6-21 23:36:26 | 显示全部楼层
svn不爽,很不爽.

如果不是被逼的,还是坚持用cvs吧.

当然,client还是有必要准备一个.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-5 11:35 , Processed in 0.065033 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表