代码变更控制系统及方法

文档序号:6513227阅读:235来源:国知局
代码变更控制系统及方法
【专利摘要】本发明涉及软件代码变更控制技术,其公开了一种代码变更控制方法,解决传统技术中的代码变更控制方式增加出错率及操作复杂、效率低的问题。该控制方法可以概括为:开发人员新建变更以及在本地创建patch文件,然后将patch文件连同版本库路径一同上传至变更服务器并在变更单中填写审核人员信息,系统对变更单的流转进行管理,根据变更单当前状态设置其工作流状态,代码处理器对变更中的补丁文件进行解析,调用版本管理工具代理下载文件工作副本,调用补丁工具应用该补丁文件到工作副本生成对应代码,然后调用版本管理工具代理提交工作副本,完成代码提交。此外,本发明还公开了相应的代码变更控制系统,适用于代码变更控制管理。
【专利说明】代码变更控制系统及方法
【技术领域】
[0001]本发明涉及软件代码变更控制技术,特别涉及一种代码变更控制系统及方法。
【背景技术】
[0002]计算机技术和网络迅速发展的今天,各类应用软件,仪器设备已经融入人们的工作,学习,生活中。工作网络化,生产自动化,服务智能化,已经成为各大中小型企业提高工作效率,减小成本,开发客户等的主要方法,对这些企业来说软件和设备一旦出现故障就可能造成灾难性的,不可挽回的损失,因此软件质量变得尤为重要,而代码的质量直接影响软件质量,代码变更控制作为代码质量控制的重要部分成为各IT企业迫切需要解决的问题。
[0003]传统技术中的代码变更控制是由开发人员在本地通过比较工具导出代码修改后的补丁(patch)文件,将对比文件传给变更审核人员进行代码审核,审核通过后再由开发人员通过本地客户端向版本库提交代码。这种方式不能有效保证开发人员提交的代码是经过变更审核人审核的代码,可能带来漏提,多提的问题,最终导致质量事故;并且这种方式需要开发人员逐个进行文件对比,且审核通过后还需要开发人员手动提交代码,因而操作复杂、效率低。

【发明内容】

[0004]本发明所要解决的技术问题是:提出一种代码变更控制系统及方法,解决传统技术中的代码变更控制方式增加出错率及操作复杂、效率低的问题。
[0005]本发明解决上述技术问题所采用的方案是:代码变更控制系统,包括:
[0006]变更管理模块,用于完成变更的创建、查看及在开发人员提交变更后生成变更单,将变更单提交给工作流管理模块;
[0007]工作流管理模块,用于控制变更单的流转以及设置工作流状态;
[0008]代码处理器模块,用于对变更中的补丁文件进行解析,调用版本管理工具代理下载文件工作副本,调用补丁工具应用该补丁文件到工作副本生成对应代码,然后调用版本管理工具代理提交工作副本,完成代码提交;
[0009]版本管理工具代理模块,用于提供操作版本库的接口。
[0010]进一步,所述变更单包括补丁文件及创建补丁文件的目录对应的版本库路径。
[0011]进一步,所述补丁文件是指开发人员通过版本管理工具客户端或者补丁工具创建本地代码修改后的差异文件。
[0012]进一步,所述工作流管理模块用于控制变更单的流转以及设置工作流状态具体包括:
[0013]工作流管理模块在收到变更单后读取变更单的工作流程,设置变更单的工作流状态为“待审核”,并通知该变更单的审核人员;在变更审核通过后,设置变更单的工作流状态为“等待变更提交”,并通知代码处理器模块解析变更、提交代码;在代码处理器模块完成代码提交后,设置变更单的工作流状态为“待属主确认”;在开发人员确认变更提交完成后关闭该变更单。
[0014]进一步,所述代码处理器模块用于对变更中的补丁文件进行解析,调用版本管理工具下载文件工作副本具体包括:
[0015]获取变更单中的补丁文件,解析该补丁文件,生成每个需要变更文件所在版本库的全路径,根据路径调用版本管理工具代理下载文件工作副本。
[0016]此外,本发明的另一目的还在于,提出一种代码变更控制方法,其包括以下步骤:
[0017]a.开发人员新建一个变更,并在本地创建补丁文件;
[0018]b.将补丁文件和创建补丁文件的目录对应的版本库路径上传至变更服务器;
[0019]c.填写该变更的审核人员,提交变更;
[0020]d.变更管理模块生成变更单并提交给工作流管理模块;
[0021]e.工作流管理模块读取变更单工作流程,设置变更单的工作流状态为“待审核”,并通知该变更的审核人员;
[0022]f.在审核人员对该变更审核通过后,设置变更单的工作流状态为“等待变更提交”并通知代码处理器模块;
[0023]g.代码处理器模块对变更中的补丁文件进行解析,调用版本管理工具代理下载文件工作副本,调用补丁工具应用该补丁文件到工作副本生成对应代码,然后调用版本管理工具代理提交工作副本,完成代码提交;
[0024]h.工作流管理模块设置变更单的工作流状态为“待属主确认”;
[0025]1.在开发人员确认变更提交完成后关闭该变更单。
[0026]进一步,步骤a中,所述在本地创建补丁文件是指:开发人员通过版本管理工具客户端或者补丁工具创建本地代码修改后的差异文件。
[0027]进一步,步骤g中,所述代码处理器模块对变更中的补丁文件进行解析,调用版本管理工具代理下载文件工作副本,具体包括:
[0028]获取变更单中的补丁文件,解析该补丁文件,生成每个需要变更文件所在版本库的全路径,根据路径调用版本管理工具代理下载文件工作副本。
[0029]本发明的有益效果是:通过对补丁文件的有效利用,从技术上保证了变更审核人员审核的代码即为最终提交到版本库中的代码,避免多提、漏提带来的质量问题,也方便了代码审核和代码提交;同时由于变更控制的流程都是通过系统控制,可与各种流程管理相关的系统集成,形成从需求到代码提交的综合解决方案,将各种复杂的流程统一管理,使得流程简单化、规范化,从而提高企业的生产效率。
【专利附图】

【附图说明】
[0030]图1为代码变更控制系统结构框图;
[0031 ] 图2为代码变更控制方法实施例流程图。
【具体实施方式】
[0032]本发明旨在提出一种代码变更控制系统及方法,解决传统技术中的代码变更控制方式增加出错率及操作复杂、效率低的问题。
[0033]下面结合附图及实施例对本发明的方案作进一步的描述:[0034]参见图1,本发明中的代码变更控制系统包括:
[0035]变更管理模块,用于完成变更的创建、查看及在开发人员提交变更后生成变更单,将变更单提交给工作流管理模块;
[0036]工作流管理模块,用于控制变更单的流转以及设置工作流状态;
[0037]代码处理器模块,用于对变更中的补丁文件进行解析,调用版本管理工具代理下载文件工作副本,调用补丁工具应用该补丁文件到工作副本生成对应代码,然后调用版本管理工具代理提交工作副本,完成代码提交;
[0038]版本管理工具代理模块,用于提供操作版本库(如:SVN)的接口。
[0039]基于上述变更控制系统实现的控制方法实施例流程如图2所示,其包括以下步骤:
[0040]201、创建变更:开发人员通过本发明的代码变更控制系统中的变更管理模块新建变更;
[0041]202、创建patch文件:开发人员通过版本管理工具客户端或者patch工具创建本地代码修改后的patch文件;
[0042]203、上传patch文件及路径:将patch文件和创建patch文件的目录对应的版本库路径通过web页面一起上传至变更服务器;
[0043]204、填写审核人:开发人员在变更单中填写该变更单的审核人员信息;
[0044]205、提交变更:向系统提交该变更,变更管理模块生成相应的变更单,将变更单提交给工作流管理模块;
[0045]206、读取变更单工作流程:工作流管理模块根据变更单的类型读取该变更单的工作流程(本系统的工作流程状态为:处理中-待审核-等待变更提交-待属主确认-关闭);
[0046]207、设置变更流程状态:工作流管理模块设置变更单的工作流状态为“待审核”;
[0047]208、通知变更审核人:工作流管理模块通知该变更单的审核人员;
[0048]209、审核通过:该变更单的相应审核人员对该变更单进行审核,在审核通过后,工作流管理模块设置变更单的工作流状态为“等待变更提交”,并通知代码处理器模块;
[0049]210、patch文件解析:代码处理器获取变更单中的patch文件和对应路径,解析patch文件,生成每个需要变更文件所在版本库(SVN)的全路径;
[0050]211、下载需要提交的工作副本:代码处理器模块根据路径调用版本管理工具代理下载文件工作副本;、
[0051]212、应用patch文件:代码处理器模块调用Patch工具应用patch文件到工作副本,生成和开发人员本地一样的代码,从而保证提交的代码就是审核过的代码;
[0052]213、提交工作副本:代码处理器模块调用版本管理工具提交工作副本;
[0053]214、切换变更状态:工作流管理模块设置变更单的工作流状态为“待属主确认”;
[0054]215、提交完成:在开发人员确认变更提交完成后关闭该变更单,即完成代码提交。
[0055]需要说明的是,本发明要求保护的范围包含但不仅限于上述实施例,本领域技术人员根据以上描述在不脱离本发明精神实质的情况下对本发明的技术内容作出的等同修改/替换,均在本发明的保护范围之内。
【权利要求】
1.代码变更控制系统,其特征在于, 包括: 变更管理模块,用于完成变更的创建、查看及在开发人员提交变更后生成变更单,将变更单提交给工作流管理模块; 工作流管理模块,用于控制变更单的流转以及设置工作流状态; 代码处理器模块,用于对变更中的补丁文件进行解析,调用版本管理工具代理下载文件工作副本,调用补丁工具应用该补丁文件到工作副本生成对应代码,然后调用版本管理工具代理提交工作副本,完成代码提交; 版本管理工具代理模块,用于提供操作版本库的接口。
2.如权利要求1所述的代码变更控制系统,其特征在于, 所述变更单包括补丁文件及创建补丁文件的目录对应的版本库路径。
3.如权利要求2所述的代码变更控制系统,其特征在于, 所述补丁文件是指开发人员通过版本管理工具客户端或者补丁工具创建本地代码修改后的差异文件。
4.如权利要求1所述的代码变更控制系统,其特征在于, 所述工作流管理模块用于控制变更单的流转以及设置工作流状态具体包括: 工作流管理模块在收到变更单后读取变更单的工作流程,设置变更单的工作流状态为“待审核”,并通知该变更单的审核人员;在变更审核通过后,设置变更单的工作流状态为“等待变更提交”,并通知代码处理器模块解析变更、提交代码;在代码处理器模块完成代码提交后,设置变更单的工作流状态为“待属主确认”;在开发人员确认变更提交完成后关闭该变更单。
5.如权利要求1-4任意一项所述的代码变更控制系统,其特征在于, 所述代码处理器模块用于对变更中的补丁文件进行解析,调用版本管理工具下载文件工作副本具体包括: 获取变更单中的补丁文件,解析该补丁文件,生成每个需要变更文件所在版本库的全路径,根据路径调用版本管理工具代理下载文件工作副本。
6.代码变更控制方法,其特征在于,包括以下步骤: a.开发人员新建一个变更,并在本地创建补丁文件; b.将补丁文件和创建补丁文件的目录对应的版本库路径上传至变更服务器; c.填写该变更的审核人员,提交变更; d.变更管理模块生成变更单并提交给工作流管理模块; e.工作流管理模块读取变更单工作流程,设置变更单的工作流状态为“待审核”, 并通知该变更的审核人员; f.在审核人员对该变更审核通过后,设置变更单的工作流状态为“等待变更提交”并通知代码处理器模块; g.代码处理器模块对变更中的补丁文件进行解析,调用版本管理工具代理下载文件工作副本,调用补丁工具应用该补丁文件到工作副本生成对应代码,然后调用版本管理工具代理提交工作副本,完成代码提交; h.工作流管理模块设置变更单的工作流状态为“待属主确认”;l.在开发人员确认变更提交完成后关闭该变更单。
7.如权利要求6所述的代码变更控制方法,其特征在于, 步骤a中,所述在本地创建补丁文件是指:开发人员通过版本管理工具客户端或者补丁工具创建本地代码修改后的差异文件。
8.如权利要求5所述的代码变更控制方法,其特征在于, 步骤g中,所述代码处理器模块对变更中的补丁文件进行解析,调用版本管理工具代理下载文件工作副本,具体包括: 获取变更单中的补丁文件,解析该补丁文件,生成每个需要变更文件所在版本库的全路径,根据路径调用版本管理工具代理下载文件工作副本。
【文档编号】G06F9/44GK103473075SQ201310444498
【公开日】2013年12月25日 申请日期:2013年9月23日 优先权日:2013年9月23日
【发明者】邓海红 申请人:迈普通信技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1