APP下载

基于SVN的文档共享系统在幼儿园文档管理中的应用

2021-01-07邓希廉崔雪艳沈凤明

数字通信世界 2020年12期
关键词:副本源代码文档

邓希廉,崔雪艳,沈凤明

(1.西北农林科技大学网络与教育技术中心,咸阳 陕西 712100;2.杨凌高新幼儿园,咸阳 陕西 712100)

1 文档编辑和文档共享

幼儿园日常需要编辑和整理各类的多媒体文档或者文字,这些资料在一次编辑完成以后,会保存在各个班级的电脑内部,如果下次再次编辑新的文档,需要重复一个新的过程,搜索素材、编辑文字、整合相关的资源到一个新的文档,这样工作方式存在的问题是:旧有的文档就没有充分得到利用,各个班级和任务产生的文档之间没有充分共享,产生不必要的工作量。比如:有些照片是幼儿园活动照片,能在具体的某个文档中使用,但是,由于缺少一个公共的共享库,只能通过群内发送消息,或者询问的方式,达到部分文档的共享,特别是不能实现文档的版本控制,没有版本控制,文档会产生大量的修改后保存的文档,这些文档只是一个在编辑文档的副本。不利于文档的编辑,并且一旦编辑后的文档,想还原到以前的某个状态,需要作者在各个副本中搜索,编辑的效率很低下。以上的问题可以通过版本控制系统解决,文档的编辑可以在班级或者幼儿园内部共同完成,并且可以在各个文档的版本之间实现转换,提升文档的编辑效率和共享效率。

2 版本控制系统SVN

版本控制系统最初的使用领域是软件开发,主要用于源代码的管理以及项目代码的版本控制,主要解决多个软件开发人员之间的协调,由于软件规模的扩展,越来越多的开发者之间的协调成为软件开发的一种挑战,过去软件开发人员需要保留自己的源代码,一个简单的方法是复制这个源代码保存为一个副本,但是其源代码中很多是重复的代码,如果在其上随意更新代码会导致源代码的副本版本错误。最具挑战的是多个开发者源代码的合并,假如开发者同时修改了同一个源代码文件,导致了冲突,在没有版本控制系统,对照源代码修改相关文件会特别麻烦。因此,版本控制系统是一种记录一个或者多个文档内容变化,以便今后查阅特定版本修订的系统。版本可以理解为一次文档变化的修订,它主要解决的问题是多个不同人工作之间协调。

版本控制系统一般都含有以下三个主要的功能:文件变更记录功能;分支与合并功能;可追溯功能。文件变更记录功能包括文件增删改的变更;分支与合并功能用于各个开发人员各自独立开发,解决分支之间冲突,合并各个开发人员的开发文档;可追溯功能用于标定文件变更记录,软件出现Bug后追查相应文档。

现在的版本控制系统主要分为两大类:集中化的版本控制系统(Centralized Version Control Systems)和分布式版本控制系统(Distributed Version Control System)。Subversion(SVN)属于集中版本控制系统,主要的特点是该系统有一个集中管理的服务器,协同工作的各个人员需要链接到服务器,服务器负责保存所有文档的版本修订,系统用户主要负责提交文档的更新。SVN开始是用于软件文档的版本控制,得到程序员群体的广泛接受,但是,在其他领域由于其操作的特殊没有得到推广。SVN缺点是存在服务器故障导致文档的丢失,所以对服务器的管理相对要求较高。

SVN使用的是乐观锁模型,属于第二代版本控制系统,主要的特征是用户可以同时读写服务器上的文档,SVN自动记录文档的变更。用户可以同时编辑同一文件,提交以后发现有文件冲突,说明服务器上的内容与本地修改的内容产生不一致,执行更新后,需要跟其他人员协调文档并修改文档,解决完文件冲突后可以将文档重新提交。

SVN版本控制系统中核心的是仓库,这里用户可以理解成服务器,有所不同的是它使用文件系统树存放信息。文件系统树由文件和目录组成,记录了存储文件的每一个版本,这样,不仅可以访问到最新的文件系统树,还可以访问文件系统树的历史。每接受一次提交(Commit),文件系统树自动创建一个版本号(revision),需指出的是这个号是整个系统的,不是某个文件所有的,所以,是某个版本号下的某个文件,而不是某个文件的特定版本。

SVN在版本控制使用branch、tag和trunk来区别不同的版本变更。SVN branch、SVN tag和SVN trunk主要用于隔离不同版本之间的变更:branch就是分支,在软件开发中用于新特性的开发,优点是不会使trunk主线上的版本存现bugs或者错误,只要开发者的新特性稳定以后,使用merge(合并)回trunk主线;SVN tag(标签)标识特定的版本,是某个时间点的快照,使用用户可读的命名方式,例如release-1.0。在合并的工作中,既可以将分支中的修改合并到trunk主线,也可以定制的版本变化合并到trunk主线。如果当前的工作副本是主线,那么合并的是分支上的变动;如果当前的工作副本是分支,那么合并的是trunk主线上的变动。

3 系统结构与设计

3.1 SVN在幼儿园中的系统部署设计

幼儿园的多媒体教研室是一个很好的部署环境,只需要布置一台安装SVN server的服务器,只需要安装SVN client的客户端,在服务器上建立仓库,各个老师将自己的文档使用SVN client软件按照操作流程,就能实现文档的共享。同时,我们将整个目录结构划分为共享目录和基于项目小组的目录。共享目录按照文档用途,分为图片、影像、声音、文档等,文档的按照格式分为word等目录。基于项目小组的目录,分为项目小组1的目录,其下面的目录可以参看共享目录的结构。

图1 系统部署图

3.2 操作流程

图2 修改文档的流程图

SVN update主要用于将当前目录和子目录下的文件同步到最新的版本SVN add,增加文件用于版本控制;SVN delete用于从版本控制库删除文件;SVN copy主要用于在版本控制复制文件;SVN move主要用于版本控制文件移动;SVN revert主要用于版本控制文件的恢复到某一个版本;SVN resolve用于版本控制冲突的解决;SVN commit用于提交当前文件的修改。修改文档的流程如下:①使用SVN update将工作目录同步到最新的版本;②使用SVN /add /delete /copy /move等命令将需要同步到目录下的文档更改到当前目录;③如果需要恢复到某个版本使用SVN revert;④如果修改完的某个文件后出现文档冲突,使用SVN resolve;⑤修改完所有的文档以后,使用SVN commit将文档同步到服务器。幼儿园的文档种类繁多,对文档进行有效的管理是实现文档共享的基础,本文利用SVN软件工具设计了一种基于版本控制的文档共享系统,能有效解决幼儿园在文档管理方面存在的问题,整合幼儿园内部优秀的素材资源和文档资源,提升文档的编辑效率和实现文档版本的管理。

4 结束语

猜你喜欢

副本源代码文档
浅谈Matlab与Word文档的应用接口
有人一声不吭向你扔了个文档
基于TXL的源代码插桩技术研究
使用卷影副本保护数据
面向流媒体基于蚁群的副本选择算法①
一种基于可用性的动态云数据副本管理机制
Word文档 高效分合有高招
解密别克安全“源代码”
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
《口袋西游—蓝龙》新副本“幽冥界”五大萌点