使用SVN进行版本控制

使用SVN进行版本控制

ID:43537272

大小:208.05 KB

页数:34页

时间:2019-10-10

使用SVN进行版本控制_第1页
使用SVN进行版本控制_第2页
使用SVN进行版本控制_第3页
使用SVN进行版本控制_第4页
使用SVN进行版本控制_第5页
资源描述:

《使用SVN进行版本控制》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、使用SVN进行版本控制Subversion是一个口曲/开源的版本控制系统。也就是说,在Subversion管理下,文件和忖录可以超越时空。也就是Subversion允许你数据恢复到早期版本,或者是检查数据修改的历史。正因为如此,许多人将版本控制系统当作一•种神奇的“时间机器”。Subversion的特性Subversion支持:版木化的口录CVS只能跟踪单个文件的变更历史,但是Subversion实现的“虚拟”版本化文件系统则可以跟踪目录树的变更。在Subversion中,文件初目录都是版本化的。真实的版本历史由于只能跟踪单个文件的变更,CVS无法支持如文件拷贝和改名这些

2、常见的操作一这些操作改变了冃录的内容。同样,在CVS中,一个冃录下的文件只要名字相同即拥有相同的历史,即使这些同名文件在历史上毫无关系。而在Subversion中,可以对文件或目录进行增加、拷贝和改名操作,也解决了同名而无关的文件之间的历史联系问题。原子提交一系列和关的更改,要么全部提交到版本库,要么一个也不提交。这样用户就可以将相关的更改组成一个逻辑整体,防止出现只有部分修改提交到版本库的情况。版木化的元数据每一个文件和S录都有£1己的一组属性一键和它们的值。可以根据需要建立并存储任何键/值对。和文件木身的内容一样,属性也在版木控制之下。可选的网络层Subversion

3、在版本库访问的实现上具有较高的抽象程度,利于人们实现新的网络访问机制。Subversion可以作为一个扩展模块嵌入到Apache之中。这种方式在稳定性和交互性方面有很大的优势,可以直接使用服务器的成熟技术一认证、授权和传输压缩等。此外,Subversion口身也实现了一个轻型的,可独立运行的服务器软件。这个服务器使用了一个自定义协议,可以轻松的用SSH封装。一致的数据操作Subversion用一个二进制差异算法描述文件的变化,对于文本(可读)和二进制(不可读)文件其操作方式是一致的。这两种类型的文件压缩存储在版本库屮,而差异信息则在网络上双向传递。高效的分支和标签操作在S

4、ubversion中,分支与标签操作的开销与工程的大小无关oSubversion的分支和标签操作用只是一种类似于硬链接的机制拷贝整个工程。因而这些操作通常只会花费很少月•相对固定的时间。可修改性Subversion没有历史负担,它以一系列优质的共享C程序库的方式实现,具有定义良好的APL这使得Subversion非常容易维护,和其它语言的互操作性很强。Subversion的架构图屮的一端是保存所有版本数据的Subversion版本库,另一•端是Subversion的客户程序,管理着所有版本数据的本地影射(称为“工作拷贝”),在这两极Z间是齐种齐样的版本库访问(RA)层,某

5、些使用电脑网络通过网络服务器访问版木库,某些则绕过网络服务器直接访问版木库。Subversion的组件安装好的Subversion由几个部分组成,下面将简单的介绍一下这些组件。svn命令行客户端程序。svnversion此工具用来显示工作拷贝的状态(用术语来说,就是当前项冃的修订版本)。svnlook直接查看Subversion版本库的工具。svnadmin建立、调整和修复Subversion版木库的工具。svndumpfilter过滤Subversion版木库转储数据流的工具。mod_dav_svnApacheHTTP服务器的一个插件,使版本库可以通过网络访问。svns

6、erve一个单独运行的服务器程序,可以作为守护进程或由SSH调用。这是另一种使版本库可以通过网络访问的方式。svnsync-个通过网络增量镜像版本库的程序。基本概念版本库Subversion是一个'集中式”的信息共享系统。版本库是Subversion的核心部分,是数据的中央仓库。版木库以典型的文件和H录结构形式艾浮系统超来保存信息。任意数量的咨户踹连接到Subversion版木库,读取、修改这些文件。客户端通过写数据将信息分享给其他人,通过读取数据获取别人共享的信息。图1.1“一个典型的客户/服务器系统”展示了这种系统:RepositoryWrite丄ClientIJGi

7、entnRead□Client图1.1.-个典型的客户/服务器系统这有什么意义吗?说了这么多,Subversion听起來和一•般的文件服务器没什么不同。事实上,Subversion的版本库的确走一种文件服务器,但不是“一般”的文件服务器。Subversion版本库的特别之处在于,它会记录每一次改变:每个文件的改变,甚至是目录树本身的改变,例如文件和目录的添加、删除和重新组织。一般情况下,客户端从版本库中获取的数据是文件系统树屮的最新数据。但是客户端也具备查看文件系统树的以砌任何一个状态的能力。举个例子,客户端有时会对一些历史

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。