Linux下搭建大型SNV平台
Linux下搭建大型SNV平台 Subversion是什么? Subversion是一个自由/开源的版本控制系统.也就是说,在Subversion管理下,文件和目录可以超越时空.也就是Subversion允许你数据恢复到早期版本,或者是检查数据修改的历史.正如此,许多人将版本控制系统当作一种神奇的“时间机器”. Subversion的版本库可以通过网络访问,从而使用户可以在不同的电脑上进行操作.从某种程度上来说,允许用户在各自的空间里修改和管理同一组数据可以促进团队协作.修改不再是单线进行,开发速度会更快.此外,所有的工作都已版本化,也就不必担心错误的更改而影响软件质量—如果出现不正确的更改,只要撤销那一次更改操作即可. 某些版本控制系统本身也是软件配置管理(SCM)系统,这种系统经过精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性—比如,对编程语言的支持,或者提供程序构建工具.不过Subversion并不是这样的系统.它是一个通用系统,可以管理任何类型的文件集.对你来说,这些文件这可能是源程序—而对别人,则可能是一个货物清单或者是数字电影. Subversion的特性 在讲解Subversion为版本控制领域带来的特性时,我们会经常通过Subversion对CVS的改进进行说明.如果不熟悉CVS,了解所有Subversion的特性会有一定的困难.而如果根本就不熟悉版本控制,你就只有干瞪眼的份儿了.因此,最好阅读一下第 1 章 基本概念,这一章简单介绍了一些版本控制的基本思想和概念. Subversion支持: 版本化的目录 CVS只能跟踪单个文件的变更历史,但是Subversion实现的“虚拟”版本化文件系统则可以跟踪目录树的变更.在Subversion中,文件 拥有帝国一切,皆有可能。欢迎访问phome.net和目录都是版本化的. 真实的版本历史 只能跟踪单个文件的变更,CVS无法支持如文件拷贝和改名这些常见的操作—这些操作改变了目录的内容.同样,在CVS中,一个目录下的文件只要名字相同即拥有相同的历史,即使这些同名文件在历史上毫无关系.而在Subversion中,可以对文件或目录进行增加、拷贝和改名操作,也解决了同名而无关的文件之间的历史联系问题. 原子提交 一系列相关的更改,要么全部提交到版本库,要么一个也不提交.这样用户就可以将相关的更改组成一个逻辑整体,防止出现只有部分修改提交到版本库的情况. 版本化的元数据 每一个文件和目录都有自己的一组属性—键和它们的值.可以根据需要建立并存储任何键/值对.和文件本身的内容一样,属性也在版本控制之下. 可选的网络层 Subversion在版本库访问的实现上具有较高的抽象程度,利于人们实现新的网络访问机制.Subversion可以作为一个扩展模块嵌入到Apache之中.这种方式在稳定性和交互性方面有很大的优势,可以直接使用服务器的成熟技术—认证、授权和传输压缩等.此外,Subversion自身也实现了一个轻型的,可独立运行的服务器软件.这个服务器使用了一个自定义协议,可以轻松的用SSH封装. 一致的数据操作 Subversion用一个二进制差异算法描述文件的变化,对于文本(可读)和二进制(不可读)文件其操作方式是一致的.这两种类型的文件压缩存储在版本库中,而差异信息则在网络上双向传递. 高效的分支和标签操作 在Subversion中,分支与标签操作的开销与工程的大小无关.Subversion的分支和标签操作用只是一种类似于硬链接的机制拷贝整个工程.因而这些操作通常只会花费很少且相对固定的时间. 拥有帝国一切,皆有可能。欢迎访问phome.net 可修改性 Subversion没有历史负担,它以一系列优质的共享C程序库的方式实现,具有定义良好的API.这Subversion非常容易维护,和其它语言的互操作性很强. Subversion的架构 图 1 “Subversion的架构”给出了Subversion设计总体上的& |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |