欢迎来到天天文库
浏览记录
ID:21556718
大小:25.00 KB
页数:5页
时间:2018-10-22
《用svn实现软件的版本控制》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、用SVN实现软件的版本控制 一般在软件开发过程中都会出现版本多样化、不时变更更新、数据量多追溯搜索困难等问题,而开发出的SVN系统在一定程度上避免了上述情况的发生,本文着重介绍了SVN软件及其工作机制,并分析探讨了如何实现对软件的版本控制,提出一个有效的,仅供大家参考的操作实施方法。 【关键词】软件版本控制SVN优势 1前言 我们知道每一个软件项目都是要进行一系列的统计、分析、设计、编码、测试、交付维护和后期维护支持等复杂的过程,在软件项目的进行中,会不不可避免的生成大量的数据源、代码源,因此将这些凌乱的,庞大复杂的数据,进行有序的
2、排列分类,储存数据发生变更时的变更记载,成功追溯到数据变更历史等成为困扰我们的一大难题,而SVN版本控制工具的成功研发,很好的解决了软件配置管理中上述版本控制的问题。 2SVN的概念和工作机制 2.1SVN的概念 SVN具体指的是什么呢,SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。 2.2SVN的工作机制 我们知道一个软件开发试行后,最关键的问题就是能够有效的实现软件版本系统的控制,而作为版本控制系
3、统的核心任务,能否完成成功的查阅历史操作记录和实现协同开发才是公司研发团队关注的问题。SVN系统具体是如何实现对项目软件的版本控制,一方面通过实现历史操作记录查阅。我们在任意一台服务器中都可以添加一个SVN版本库,而相应的版本库中存放大量的程序和文档,而这些项目资源主要通过配置管理员依据不同的配置管理计划对不同项目的组员分配与之相符合的访问权限,进而实现对资源的统一管理;只有SVN标本过版本库中的资源,项目组成员可以对版本资源库中的资源进行访问。我们知道一次简单的访问过程包括:相关项目组员首先在客户操作端建立一个从版本库检索出来的项目文件,
4、而后就可以对拷贝的档案进行修改,最后通过SVN提交命令将其修改后的项目文件提交到终端服务器,终端服务器最终会对修改后的项目文件做最后的综合更新记录。修改过的文件在修改未被提交到服务器前,SVN服务器只会对已经提交到终端服务器的项目文档进行更新审核,并与其他人的合并,在此之前修改过的文档是保密的。提交之后SVN终端服务器会将修改后与修改之前的数据进行比较,并在后台对修改内容就行标注显示,进而实现对历史操作记录的更新记载。最终实现项目组组员既能检索出旧版本,又能通过SVN实现新旧版本的对比。另一方面SVN通过进行组员间的协同开发实现对项目软件的
5、版本控制。协同开发一般是指版本控制系统同时接受并处理不同用户提交的各种不同性质版本的资源代码,同时允许各个用户之间在遵循相应规则范围内实现合作开发。如何处理好有矛盾的版本控制系统才是能够协同开发的关键。像是多个程序编码员同时对同一份资源代码进行修改、提交到提交到SVN版本库,就有可能发生提交后的版本意见想法相冲等问题。就目前而言,主要通过以下两种方案解决上诉问题。一种就是我们所谓的“锁定-修改-解锁”方案,另一种我们可以称为“拷贝-修改-合并”方案。简而言之,在“锁定-修改-解锁”方案中,版本控制工具具有一对一的的限制,不同的程序员不能在同
6、一时间中就同一份文档同时进行锁定、修改,也就是说,只有当这个程序员修改完毕并提交修改方案后,其他工作人员才能再次对同一文件解锁并修改,这种方案总体来说操作简单、容易被大多数人接受、理解,但这种结局方案背后隐藏的缺点不容忽视的,因为多人同时行同一条道时,就必不可免的等待问题,这样会费时、费力,在有限的时间内不能完成有效的工作;而在应用“拷贝-修改-合并”时,这种一个一个进行的弊端就能有效避免,因为这种方案是允许同一时间有多个程序员对同一文件进行修改的,最后由最后一个提交的程序员决定如何解决和先提交版本之间的冲突问题。虽然这样做会增加后提交者的
7、担负,但其还是很好的解决了“锁定-修改-解锁”方案带来的弊端,总体来说是利远远大于弊的。为了尽量满足人们的不同需求,SVN最终共同采用以上两种方案来满足不同人群的需求,因此得到大多数人的喜爱与认可,得到广泛的采纳、应用。 3SVN软件版本控制的优势 目前因SVN在运行、数据存储、安全性等方面均占有较强优势,因而更为公司、企业所接受并被应用,主要从以下几个方面对其存在优势进行简要的陈述,从而使人们在软件版本控制方面有更多的选择。 3.1存储 SVN服务器既具有CVS所具有数据储存的优点,像是信息资源存储后会形成资源树结构,便于存储的同
8、时,数据一般不会丢失,同时又拥有自己的特色。SVN是通过关系数据库及二进制的存储方式,同时解决了既往不能同时读写同一文件等问题,同时增添了自己特有的“零或一”原则。 3.2速度
此文档下载收益归作者所有