一、SVN的简介:
SVN是一个开放源代码的版本控制系统,如今成为Apache软件的一个项目,同样是一个丰富的开发者和用户社区的一部分。Subversion管理着随时间改变的档案,这些档案放置在一个中央档案库(Repository)中。这个档案库很像一个寻常的档案服务器,不过它会记住每一次档案的变动。这样就可以把档案恢复到旧的版本,或是浏览档案的变动历程,并可以查看数据的更改细节。
二、SVN的主要功能:
1)目录版本控制:SVN实作了一个“虚拟”的版本控管文件系统,能够随时跟踪整个目录的变动。目录和文件都能进行版本控制。
2)真实的版本历史:在SVN中,你可以增加(add)、删除(delete)、复制(copy)和重命名(rename),无论是文件还是目录。所有的新加的文件都从一个新的、干净的版本开始。
3)自动提交:一个提交动作,不是全部更新到了档案库中,就是不完全更新。这允许开发人员以逻辑区间建立并提交变动,以防止当部分提交成功时出现的问题。
4)纳入版本控管的元数据:每一个文件与目录都附有一组属性关键字并和属性值相关联。
5)选择不同的网络层:SVN有抽象的档案库存取概念,可以让人很容易地实作新的网络机制。SVN可以作为一个扩展模块嵌入到Apache HTTP服务器中。这个为Subversion提供了非常先进的稳定性和协同工作能力,除此之外还提供了许多重要功能:例如,有身份认证,授权,在线压缩和文件库浏览等。还有一个轻量级的独立Subversion服务器,使用的是自定义的通信协议,可以很容易地通过ssh以tunnel方式去使用。
6)一致的数据处理方式:SVN使用二进制差异算法来异表示文件的差异,它对文字(人类可理解的)与二进制文件(人类无法理解的)两类的文件都一视同仁。这两类的文件都同样地以压缩形式储存在档案库中,而且文件差异是以两个方向在网络上传输的。
7)有效的分支(branch)与标签(tag):在分支与标签上的消耗并不必一定要与项目大小成正比。SVN建立分支与标签的方法,就只是复制该项目,使用的方法就类似于硬连接。所以这些操作只会花费很小,而且是固定的时间。
8)Hackability:SVN没有任何的历史包袱。它主要是一群共用的C程序库,具有定义完善的API。这使得SVN便于维护,并且可被其它应用程序与程序语言使用。
如果大家想了解更多软件测试问题以及行业资讯,可以关注我哦!(笔芯)