- 浏览: 2873481 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (2529)
- finance (1459)
- technology (218)
- life (343)
- play (150)
- technology-component (0)
- idea (6)
- house (74)
- health (75)
- work (32)
- joke (23)
- blog (1)
- amazing (13)
- important (22)
- study (13)
- Alternative (0)
- funny (8)
- stock_technology (12)
- business (16)
- car (21)
- decorate (4)
- basketball (2)
- English (16)
- banker (1)
- TheBest (1)
- sample (2)
- love (13)
- management (4)
最新评论
-
zhongmin2012:
BSM确实需要实践,标准ITIL服务流程支持,要做好,需要花费 ...
BSM实施之前做什么 -
shw340518:
提示楼主,有时间逻辑bug:是你妈二十那年写的 那会儿连你爹都 ...
80后辣妈给未来儿子的信~我的儿,你也给我记住了~~~ -
guoapeng:
有相关的文档吗?
it项目管理表格(包含146个DOC文档模板) -
solomon:
看到的都是 这种 CTRL+C 和 CTRL+V 的文章, ...
Designing a website with InfoGlue components -
wendal:
恩, 不错. 有参考价值
Designing a website with InfoGlue components
http://industry.ccidnet.com/pub/article/c739_a177827_p1.html
长久以来,在开源世界中,CVS(Concurrent Versions System)一直都是版本控制的首选。但是现在用户有了另一个选择,就是Subversion。Subversion是下一代版本控制系统,能替代CVS,项目主页是http://subversion.tigris.org。
Subversion是一个自由、开放源码的版本控制系统。它是一个通用系统,可用来管理任何类型的文件, 其中包括程序源码。
它的初始目标很明确,实现绝大部分CVS的已有功能;充分考虑现有的CVS用户,在使用方式上模仿CVS,同时开发了一系列工具,使得基于CVS的项目能够顺利迁移到Subversion上。和CVS相比,它有很多优点,例如目录版本控制、不可分割的提交、一致的数据处理方式和更有效率的分支与标记等。
安装与初始化
Subversion建立在一个可移殖的APR (Apache Portable Runtime,链接库)上。这使得Subversion可以工作在任何可以执行Apache的操作系统上。
Subversion有两种运行方式,一是可以作为Apache 2.0的一个模块, 以WebDAV/DeltaV协议与外界连通;另外,也可使用Subversion 自带的小型服务器程序。该程序使用的是自带的通讯协议, 可以很容易地透过SSH以tunnel方式使用。
最简单的安装Subversion的方法就是使用其提供的二进制版本(在项目网站上,有RPM、DEB和PORTS等格式的文件下载)。根据系统选择下载所需的文件,这里使用的Red Hat,所以选择了RPM格式。
<ccid_nobr></ccid_nobr>
<ccid_code></ccid_code>#rpm -Uvh apr-0.9.5-0.2.i386.rpm #rpm -Uvh apr-devel-0.9.5-0.2.i386.rpm #rpm -Uvh apr-util-0.9.5-0.1.i386.rpm #rpm -Uvh apr-util-devel-0.9.5-0.1.i386.rpm #rpm -Uvh neon-0.24.4-1.i386.rpm #rpm -Uvh neon-devel-0.24.4-1.i386.rpm #rpm -Uvh subversion-1.0.0-1.rh90.i386.rpm #rpm -Uvh subversion-devel-1.0.0-1.rh90.i386.rpm #rpm -Uvh subversion-server-1.0.0-1.rh90.i386.rpm #rpm -Uvh subversion-tools-1.0.0-1.rh90.i386.rpm |
设置环境变量,命令如下:#export EDITOR=vi
创建文件库,命令如下:#svnadmin create /opt/proj/fox
将目录doc的内容,直接导入至文件库的fox目录里,命令如下:#svn import /root/doc file:///opt/proj/fox
Subversion组件
安装好之后,Subversion 会有数个不同的工具,主要分为客户端组件和服务器组件两类。
客户端组件供使用者使用,主要包括以下两个组件:
svn 是命令行客户端程序,用来管理数据。
Svnversion 用来查看工作拷贝的混合版本状态。
服务器组件供管理员使用,包括以下几个组件:
svnlook 用来查看Subversion的文件库的工具。
Svnadmin 用来创建与调整Subversion的文件库的工具。
mod_dav_svn 给Apache2.0网页服务器使用的模块;可以用来将用户的文件库透过网络对外开放。
Svnserve 一个独立的服务器程序,可以作为服务器进程执行,或是被SSH启动,让用户的文件库在网络上可供其它人存取的方法。
优势所在
Subversion在使用方式上与CVS相像,但是某些新的功能与设计和CVS是有区别的。下面谈谈两者的区别,让用户切实感受Subversion的优势。
不同的修订版号
在CVS中,每个文件修订版号是不同的。这是因为CVS基于RCS。每一个文件在文件库都有对应的RCS文件,而文件库的结构,大致上就是依照目录结构展开。
目录版本
Subversion也会追踪文件树结构,而不只是文件内容。Subversion中目录像文件一样,也有修订版号。“svn add”与“svn rm”命令可在目录上使用,就像在文件上使用一样。“svn copy”与“svn move”也是如此。但是这些目录不会马上让文件库有任何的变化。相反地,工作项目只是“预定”要被新增或删除。除非用户执行“svn commit”,不然文件库不会有任何变动。这一点有点像Windows下删除文件,只是在fat表作删除标记,而未真删除。
离线功能
Subversion的工作副本是针对网络带宽瓶颈做优化。.svn与CVS目录一样,都是管理用的目录,但是svn还多存放了文件的原始副本。这让用户能够离线进行许多事,举例如下:
“svn status”显示本地更新;
“svn diff”显示详细的更新细节;
“svn revert”移除用户的本地更新。
另外,Subversion客户端在提交文件副本时只传送差异。这点是CVS没有的。
区分状态与更新
在Subversion中,我们试着要解决“cvs status”与“cvs update”命令之间的混淆不清。“cvs status”命令有两个目的,一是显示使用者在工作副本中的本地更改;二是显示使用者过时的文件。但是CVS显示的内容不易理解,许多CVS的使用者完全无法善用这个命令。取而代之地,就是执行“cvs up”来看他们的更新。
Subversion试着让“svn status”输出的数据易于让人理解,来解决上面这个问题。另外,“svn update”只会显示被更新的文件信息,而不会显示本地的更新。
属性
Subversion的一个新功能,就是用户可以将任何的资料附加到文件与目录上。这些资料被称为属性。用户要设定或取得属性的名称,可使用“svn propset”与“svn propget”命令;要列出一个对象上所有的属性,可使用“svn proplist”命令。
冲突消解
CVS会在文件内放置“冲突标记”,将冲突地方标示出来,但CVS做得并不够。许多使用者记不住(或没看清)在终端上快速闪过的带有冲突标志的代码。
Subversion解决这个问题的方法是让冲突更明确地标示出来。它会记得文件处于冲突的状态中,除非用户执行了“svn resolved”命令,否则它不会允许用户提交。
二进制文件与文本文件
Subversion比CVS更善于处理二进制文件。 因为CVS使用RCS的关系,所以对于一个变动中的二进制文件,它将每个更新的副本都储存下来。但是Subversion不管文件是文本还是二进制类型,在内部都是以二进制差异比较算法来表示文件的更新部分。这表示所有的文件在文件库中都是以差异的形式储存。而且在网络上传输的,都是较小的文件差异部分。
CVS使用者必须以“-kb”标记二进制文件。Subversion不进行任何的关键词或列尾符号转换,除非用户要求这么做。Subversion内部会维护文件是否为“文本”或“二进制”文件的记录,将其保存在工作副本中。在执行“svn update”的过程中,Subversion 会对本地的文本文件进行内容合并,但是不会对二进制文件做这样的事。
小结
Subversion有一份很好的文档——《Version Control with Subversion》(http://svnbook.red-bean.com/)。它提供了有关Subversion的各方面内容,如使用、管理和开发等。
经过数年的开发,以替代CVS为目标的Subversion,终于出了1.0版本。相信以其强大的功能,对CVS良好的继承性,一定会有很好的发展。(T111)
发表评论
-
New Enterprise Security Solutions
2011-09-13 15:46 0<!-- [if !mso]> <styl ... -
ES Announces Enterprise Security Solutions
2011-09-13 15:40 0<!-- [if !mso]> <styl ... -
linux下如何将文件打包、压缩并分割成制定大小?
2010-09-15 18:52 3266将大文件或目录打包、 ... -
rhel4 yum安装, 使用
2010-09-07 16:37 0第一种方法: yum源来自chinalinuxpub.com ... -
Windows: 远程自动安装程序
2010-08-26 15:48 1036问题的提出 作为 ... -
Oracle体系结构
2010-08-07 09:53 964Oracle体系结构 Oracle Server包括Oracl ... -
ocp sesson 3
2010-07-31 14:39 0show parameter undo 只有 默认情况下服务 ... -
ocp session 2
2010-07-25 17:00 0/home/oracle/raInventory/orains ... -
ocp session 1
2010-07-24 13:02 0ocp first lesson D:\oracle_cou ... -
Python的xmlrpc调试
2010-07-19 23:55 2067Python的xmlrpc 调 试 ----------- ... -
mdadm使用详解及RAID 5简单分析
2010-07-11 16:19 1347http://blog.csdn.net/chinalinux ... -
Linux的lvm的基本配置步骤
2010-07-11 14:53 12411.增加硬件 增加的ide硬盘前缀为hd,scs ... -
OCP study material
2010-07-11 13:52 0\\192.168.1.105watch -n 1 'stat ... -
apache+python+mod_python+django 编译安装指南
2010-06-24 17:25 14391、本文将知道你在 linux 下使用源码包安装 ... -
在ubuntu下配置apache运行python脚本
2010-06-22 16:11 2234常用的简单命令 sudo apt ... -
Python 2.5 Quick Reference
2010-06-21 11:18 1409... -
shell 面试题汇集
2010-06-10 19:50 1004利用 top 取某个进程的 CPU 的脚本 : ... -
shell程序面试题
2010-06-10 19:48 27701.要求分析Apache访问日志,找出里面数量在前面100位的 ... -
EMC技术支持工程师笔试部分试题回忆
2010-06-07 15:16 1592要查看更多EMC公司笔经相关信息,请访问EMC公司校园招聘CL ... -
linux shell 条件语句
2010-06-03 23:29 1733...
相关推荐
cvs2svn is a program that can be used to migrate a CVS repository to Subversion (otherwise known as "SVN") or git. Documentation: The list of cvs2svn features explains briefly why converting a ...
迁移CVS版本库到Subversion C. WebDAV和自动版本 什么是WebDAV ? 自动版本化 客户端交互性 独立的 WebDAV 应用程序 Microsoft Office,Dreamweaver,Photoshop Cadaver,DAV 浏览器 文件浏览器 WebDAV 扩展 ...
使用CVS的挫折感使得Jim认真思考更好的方法来管理数据,不但确定名字为“Subversion”,而且完成了Subversion档案库的基础设计。 当CollabNet的电话到来时,Karl立即答应了加入项目中,而且Jim让他的雇主RedHat ...
SVNSubversion以及Subversion的详尽资料,word及PDF文档,和3个不同版本的安装文件,svn(subversion)是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。欢迎大家...
svn(subversion)是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。
版本控制,项目管理的好工具,CVS的接班人
svn(subversion)是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。
svn(subversion)是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。
svn(subversion)是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS转移到Subversion。
如何快速建立Subversion服务器,并且在项目中使用起来,这是大家最关心的问题,与CVS相比,Subversion有更多的选择,也更加的容易,几个命令就可以建立一套服务器环境,可以使用起来,这里配套有动画教程。
subversion 最新版svn-win32-1.5.3 团队开发版本控制软件。 将是取代大名鼎鼎的cvs下一代版本控制系统,继承了cvs的优点摒弃了其缺点,由cvs的原班人马加上新一代高手开发。
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同...
详细讲解了subversion cvs的安装配置使用以及与apache、Eclipse的整合!我认为是讲解svn和cvs的超级好的资料。
subversion(SVN): 将是取代大名鼎鼎的cvs下一代版本控制系统,继承了cvs的优点摒弃了其缺点,由cvs的原班人马加上新一代高手开发,sourceforge将会用svn取代cvs。
资源名称:服务器svn上的项目下载到eclipse内容简介: SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从...
可视化方式构建自己的SVN服务器端,svn(subversion)是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。svn服务器有2种运行方式:独立服务器和借助apache,2种方式...
学习svn 目录 一、版本管理基础 1.版本控制介绍 2.常用软件 二、Subversion基础 1.发展历史 ... 2.... 3.... 4.... 5.... 1.... 2.... 3.... 4.... 1.... 2.... 3.... 1.... 2.从CVS转换到SVN 六、附录 A. 参考资源 B. 相关资源
简介:SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个...