SVN是subversion的缩写,是一个开放源代码的版本控制系统,类似的还有动力节点在线的在线视频课程中讲到的GIT, 它Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。SVN通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。那么这种管理方式的优势在哪里呢?
首先我们要知道,大多数版本控制系统采用的Concurrent Versions System(CVS)和Subversion(SVN),而这其中SVN是最为流行的版本控制软件,许多开源软件都采用了SVN作为源码版本控制服务器。在SVN版本控制软件的管理下,不管是在局域网还是在Internet上都可以对文件和目录进行管理,它突破了时间与空间的限制,促进了团队协作开发。我们从这方面来细谈SVN的优势。
SVN服务器既具有CVS所具有数据储存的优点,像是信息资源存储后会形成资源树结构,便于存储的同时,数据一般不会丢失,同时又拥有自己的特色。SVN是通过关系数据库及二进制的存储方式,同时解决了既往不能同时读写同一文件等问题,同时增添了自己特有的“零或一”原则。
与人们初始的CVS相比,SVN在速度运行方面有很大提升。因为SVN服务器只支持少量的信息、资源传输,与其他系统相比,更支持的是离线模式,因此避免了网络拥挤现象的出现。
SVN是一种技术性更加安全的产品,实现了系统和控制两方面的结合。一方面可以将系统整体的安全功能有效地分布在分支系统中,进而保证分支系统能正常运行,从而使各分支系统能够互补,最终在系统整体性的安全性得以保障,通过均衡原则实现最终追求安全的目的。
SVN采用客户端/服务器体系,项目的各种版本都存储在服务器上,程序开发人员首先将从服务器上获得一份项目的最新版本,并将其复制到本机,然后在此基础上,每个开发人员可以在自己的客户端进行独立的开发工作,并且可以随时将新代码提交给服务器。当然也可以通过更新操作获取服务器上的最新代码,从而保持与其他开发者所使用版本的一致性。