首页 > 范文大全 > 正文

Subversion在多媒体素材库建设中的应用

开篇:润墨网以专业的文秘视角,为您筛选了一篇Subversion在多媒体素材库建设中的应用范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要多媒体素材库的建设需要多个人共同合作完成,因此在素材库的建设过程中存在文件频繁的变更,共享文件最新一致数据,可能需要回溯到某个版本等管理问题。利用subversion的特点,结合多媒体素材库建设中文档管理的特点,本文阐述了有效解决文档版本控制的 Subversion 管理方法。

【关键词】Subversion(SVN) 版本控制 多媒体素材库

1 问题的提出

多媒体素材库的开发需要许多个人共同合作完成,开发过程中项目组成员需要共享各专业数据库中数据,为了保证素材库的正常建设,项目组成员需要保证每个人拿到的文件都是最新的、一致的,且可以根据需要回溯到之前的某个节点,这就需要在项目过程中做好数据的版本管理。 素材库的文件版本管理是一个素材库建设的基础,它不仅可以提高素材库的建设效率,而且可以提高素材库的共享性,为多媒体素材库的长期发展保驾护航。

多媒体素材库的文件数据是其建设的核心,如果忽略对其版本控制管理的重要性,会给其带来许多问题。

(1)缺少版本规划,时间久了容易引起版本混乱;

(2)版本没有进行生命周期管理,维护成本很大;

(3)版本升级测试通过后,没有及时归档(包括中间产生/更新的各种过程文档);

(4)归档后的版本,下发文件人员没有及时出去;

(5)由于没有做好文档数据版本管理,经常出现同一项目组的开发人员的版本不一致,此时想回溯到之前的版本变得困难重重,从而对项目造成严重影响。

2 版本控制的概念

版本库Repository是 Subversion的核心部分,它是数据的中央仓库,版本库以典型的文件和目录结构形式文件系统树来保存信息。任意数量的客户端连接到版本库读取修改这些文件。客户端通过写数据将信息分享给其他人,通过读数据获取别人共享的信息。一个数据仓库对应的可以是一个项目,也可以是多个项目。SVN是基于数据仓库进行管理的。

它的主要特征有:

(1)“提交(commit)”实现了真正意义上的单个文件操作。

(2)版本号依据每次提交而改变,日志信息也是针对每次提交而设置。

(3)具有创建分支(Branch)和标签(tag)的功能。

3 SVN应用

SVN Repository 是多媒体素材库的版本库核心,所有的数据都以一定的数据格式存放在这个仓库。用户根据权限可以访问版本库。

3.1 简述

(1)建立项目的数据仓库,并导入项目的最初版本(由管理员完成)。

svn://10.232.201.102/多媒体素材库/护理学

(2)从仓库获取一个“工作副本”(svn checkout,可以获取最新版本也可以获取以前的某个版本),在这个“工作副本”中进行项目开发,修改完毕将变动提交到仓库。

svn checkout svn://10.232.201.102/多媒体素材库/护理学。

在团队开发中,进入已有的“工作副本”进行编辑前,应该先使用"svn update"命令将当前“工作副本”更新到仓库中的最新版本。

3.2 Subversion常用命令

典型的工作周期是这样的:

3.2.1 更新你的工作拷贝

・ svn update

将当前“工作副本”更新到仓库中的最新版本。

3.2.2 做出修改

・ svn add

・ svn delete

・ svn copy

・ svn move

如果要在项目中增加或删除某一文件或目录(包括复制和移动),必须使用svn的相关命令进行标记。

for example: 增加 doc 文件,用命令 touch doc , svn add doc

3.2.3 检验修改

svn status

・ svn diff

・ svn revert ( 把文件恢复到未修改的状态)

3.2.4 合并别人的修改到工作拷贝

・svn update

・ svn resolved

3.2.5 提交你的修改

・ svn commit

检查确认无误后,便可提交此次更改,同时要附加此次更改的说明注释信息。

冲突发现与解决:

Subversion打印C标记,并且标记这个文件已冲突。

对于每一个冲突的文件,Subversion放置三个额外的未版本化文件到你的工作拷贝:

filename.mine

你更新前的文件,没有冲突标志,只是你最新更改的内容。

filename.rOLDREV

这是你的做更新操作以前的BASE版本文件,就是你在上次更新之后未作更改的版本。

filename.rNEWREV

这是你的Subversion客户端从服务器刚刚收到的版本,这个文件对应版本库的HEAD版本。

如果你遇到冲突,三件事你可以选择:

(1) “手动”合并冲突文本(检查和修改文件中的冲突标志)。

(2) 用某一个临时文件覆盖你的工作文件。

(3) 运行svn revert 来放弃所有的修改。

一旦你解决了冲突,你需要通过命令svn resolved让Subversion知道,这样就会删除三个临时文件,Subversion就不会认为这个文件是在冲突状态了。

3.3 标签

相应的svn库都有tag 文件夹,tag只可读,不可写,tag是开发文档目录主干的一个快照,根据开发的阶段,可以在重要的阶段打 tag,以便于以后对文档的查找和恢复。

在多媒体素材库的数据搜集完后可以打一个tag,当编辑初稿后可以打一个tag, 当初审完成后可以再打一个tag,当然在最终时,也要打tag。

4 小结

如今在多媒体素材库的建设体系中,文档管理始终是一个难题。利用SVN的特点可以有效解决对文档的版本控制。将维护人员与开发人员相互分离,开发人员更新文件,而维护人员在工作时总能拿到最新的文件,不但提高了效率,更减少了误操作的可能性。同时,维护人员通过SVN更新文档,使得开发人员能够更好地对素材库文件进行改进。此外,对于团队中不同人员的权限控制,也保证了文档的安全性,避免了被无关人员的篡改。

参考文献

[1]许林.医院网络环境中软件在线升级技术的研究与实现[D].中国石油大学, 2011(08).

作者简介

张更新(1981-),男,河北省衡水市人。硕士研究生学历。现为衡水卫生学校文化教学部讲师。

作者单位

衡水卫生学校 河北省衡水市 053000