试验报告[芽孢杆菌-2010-09-17]第1页,共9页编号:农业微生物研究
编号:生物[农业信息, 共11页
承担单位:福建省农业科学院农业生物资源研究所
试验设计:林营志
试验项目:版本控制系统SVN的建立与应用
试验人员:林营志、陈武
试验负责:林营志
报告日期:2010-09-15
计数月份:2010年08月
研究资格系数
(0.5-1.0)
实验设计系数
(0.9-1.0)
报告得分
总分
实验设计
实验记载
实验分析
实验简报
实验文章
1-20%
21-40%
41-60%
61-80%
81-100%
1%-5%
设计,实施实验,记载,分析清晰,结论清晰文献完整,发表水平
福建省农业科学院农业生物资源研究所
农业微生物研究中心
电话: 0591 传真: 0591
试验目的Subversion作为一个“集中式”的信息共享系统运行在服务器上。SVN系统的核心是版本仓库,以典型的文件目录文件系统树来保存信息。客户端连接到Subversion版本库,通过写入数据将信息分享给其他人,通过读取数据获取别人共享的信息。
Subversion和普通文件服务器的最大差别在于它记录了仓库中文件和目录的修改历史,对版本库的任何一次修改都会产生一个新的版本,版本号采用自然数自动增加的方式,新建版本库版本号为0,每个文件也都有自己的版本号,每个版本还记录着修改时间、修改人等信息。因此你可以回溯查看任意版本的文件,并检查每一次的更改,因此版本控制系统也可以当作一个“时间机器”。
版本控制有两种模型,“锁定-修改-解锁”是一种古老的模型,但SVN和CVS选择了“拷贝-修改-合并”模型,因此Subversion允许用户持有各自的本地拷贝,在各自的地方修改同一份数据,然后提供一个合并的机制,但这个机制仍存在许多不足,通常来说,源代码是逐行的纯文本文件,合并相对简单,word文档的合并就需要修订功能,图像、可执行文件、音频视频文件就困难多了,因此协同与修改合并仍然仰仗于协同工作人员之间的沟通。
好在所有的工作都有历史版本,用户仍然可以下载查看历史版本进行人工的选择。现实中仍无法完全利用软件自动解决冲突问题,只有人才能理解并做出明智的选择。一切都要归结到一条重要的因素:用户交流。当用户交流贫乏,语法和语义的冲突就会增加,没有系统可以强制用户完美的交流,没有系统可以检测语义上的冲突,所以没有任何证据能够承诺锁定系统可以防止冲突,实践中,锁定除了约束了生产力,并没有做什么事。
本方案中建立了一套生物信息研究应用程序开发过程中的版本控制系统,服务端采用基于ApacheSVN软件,客户端主要采用tortoiseSVN软件实现,但在采用Eclipse编写的软件则采用subEclipse插件。下面以生物信息研究程序版本库说明服务端的配置。
服务端
概述
Subversion的设计包括一个抽象的网络层,这意味着版本库可以通过各种服务器进程访问。理论上讲,Subversion可以使用无限数量的网络协议实现,目前实践中存在着两种服务器。
SVNServ:svnserv 是一个轻量级的独立服务器,使用自己定义的协议和客户端。
ApacheSVN:Apache是最流行的web服务器,通过使用 mod_dav_svn 模块,Apache可以访问版本库,并且可以使客户端使用HTTP的扩展协议WebDAV进行访问。
Apache SVN
ApacheSVN基于Apache,通过一些模块访问版本库,采用该方案的好处是可以通过web浏览器访问版本库,本例的Linux服务器采用Ubuntu系统。该方案最大的不足是配置明显复杂,而且性能显著低于SVNServ。
ApacheSVN官方网站位于,当前版本1.6.12,文档可查阅/,该服务器版本库的访问方式有files://,http://, https://, svn://, svn+SSL等方案。本例中采用https方案。
Apache SVN安装步骤
在ubuntu中安装LAMP后再安装Subversion和apacheSVN模块,在Ubuntu Linux中,安装后两者可采用如下命令。
$ apt-get install subversion
$ apt-get install libapache2-svn
在Apache中启动dav、dav_svn模块。
基础配置
模板
系统提供了一个模板文件,mods-available/dav_svn.conf,通过对该模板的修改就可以进行相应的配置。
新建SSL网站
为版本控制系统新建一个SSL虚拟主机站点,域名采用,采用SSL默认的443端口。虚拟主机配置文件名org.dagri.svn,有关SSL站点构建、密钥生成和认证在此不做详细说明。本例中建立的SSL站点采用的自认证方式,因此在WEB
原创力文档

文档评论(0)