CN103473075A - 代码变更控制系统及方法 - Google Patents

代码变更控制系统及方法 Download PDF

Info

Publication number
CN103473075A
CN103473075A CN2013104444986A CN201310444498A CN103473075A CN 103473075 A CN103473075 A CN 103473075A CN 2013104444986 A CN2013104444986 A CN 2013104444986A CN 201310444498 A CN201310444498 A CN 201310444498A CN 103473075 A CN103473075 A CN 103473075A
Authority
CN
China
Prior art keywords
change
code
request
file
version
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2013104444986A
Other languages
English (en)
Other versions
CN103473075B (zh
Inventor
邓海红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN201310444498.6A priority Critical patent/CN103473075B/zh
Publication of CN103473075A publication Critical patent/CN103473075A/zh
Application granted granted Critical
Publication of CN103473075B publication Critical patent/CN103473075B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及软件代码变更控制技术,其公开了一种代码变更控制方法,解决传统技术中的代码变更控制方式增加出错率及操作复杂、效率低的问题。该控制方法可以概括为:开发人员新建变更以及在本地创建patch文件,然后将patch文件连同版本库路径一同上传至变更服务器并在变更单中填写审核人员信息,系统对变更单的流转进行管理,根据变更单当前状态设置其工作流状态,代码处理器对变更中的补丁文件进行解析,调用版本管理工具代理下载文件工作副本,调用补丁工具应用该补丁文件到工作副本生成对应代码,然后调用版本管理工具代理提交工作副本,完成代码提交。此外,本发明还公开了相应的代码变更控制系统,适用于代码变更控制管理。

Description

代码变更控制系统及方法
技术领域
本发明涉及软件代码变更控制技术,特别涉及一种代码变更控制系统及方法。
背景技术
计算机技术和网络迅速发展的今天,各类应用软件,仪器设备已经融入人们的工作,学习,生活中。工作网络化,生产自动化,服务智能化,已经成为各大中小型企业提高工作效率,减小成本,开发客户等的主要方法,对这些企业来说软件和设备一旦出现故障就可能造成灾难性的,不可挽回的损失,因此软件质量变得尤为重要,而代码的质量直接影响软件质量,代码变更控制作为代码质量控制的重要部分成为各IT企业迫切需要解决的问题。
传统技术中的代码变更控制是由开发人员在本地通过比较工具导出代码修改后的补丁(patch)文件,将对比文件传给变更审核人员进行代码审核,审核通过后再由开发人员通过本地客户端向版本库提交代码。这种方式不能有效保证开发人员提交的代码是经过变更审核人审核的代码,可能带来漏提,多提的问题,最终导致质量事故;并且这种方式需要开发人员逐个进行文件对比,且审核通过后还需要开发人员手动提交代码,因而操作复杂、效率低。
发明内容
本发明所要解决的技术问题是:提出一种代码变更控制系统及方法,解决传统技术中的代码变更控制方式增加出错率及操作复杂、效率低的问题。
本发明解决上述技术问题所采用的方案是:代码变更控制系统,包括:
变更管理模块,用于完成变更的创建、查看及在开发人员提交变更后生成变更单,将变更单提交给工作流管理模块;
工作流管理模块,用于控制变更单的流转以及设置工作流状态;
代码处理器模块,用于对变更中的补丁文件进行解析,调用版本管理工具代理下载文件工作副本,调用补丁工具应用该补丁文件到工作副本生成对应代码,然后调用版本管理工具代理提交工作副本,完成代码提交;
版本管理工具代理模块,用于提供操作版本库的接口。
进一步,所述变更单包括补丁文件及创建补丁文件的目录对应的版本库路径。
进一步,所述补丁文件是指开发人员通过版本管理工具客户端或者补丁工具创建本地代码修改后的差异文件。
进一步,所述工作流管理模块用于控制变更单的流转以及设置工作流状态具体包括:
工作流管理模块在收到变更单后读取变更单的工作流程,设置变更单的工作流状态为“待审核”,并通知该变更单的审核人员;在变更审核通过后,设置变更单的工作流状态为“等待变更提交”,并通知代码处理器模块解析变更、提交代码;在代码处理器模块完成代码提交后,设置变更单的工作流状态为“待属主确认”;在开发人员确认变更提交完成后关闭该变更单。
进一步,所述代码处理器模块用于对变更中的补丁文件进行解析,调用版本管理工具下载文件工作副本具体包括:
获取变更单中的补丁文件,解析该补丁文件,生成每个需要变更文件所在版本库的全路径,根据路径调用版本管理工具代理下载文件工作副本。
此外,本发明的另一目的还在于,提出一种代码变更控制方法,其包括以下步骤:
a.开发人员新建一个变更,并在本地创建补丁文件;
b.将补丁文件和创建补丁文件的目录对应的版本库路径上传至变更服务器;
c.填写该变更的审核人员,提交变更;
d.变更管理模块生成变更单并提交给工作流管理模块;
e.工作流管理模块读取变更单工作流程,设置变更单的工作流状态为“待审核”,并通知该变更的审核人员;
f.在审核人员对该变更审核通过后,设置变更单的工作流状态为“等待变更提交”并通知代码处理器模块;
g.代码处理器模块对变更中的补丁文件进行解析,调用版本管理工具代理下载文件工作副本,调用补丁工具应用该补丁文件到工作副本生成对应代码,然后调用版本管理工具代理提交工作副本,完成代码提交;
h.工作流管理模块设置变更单的工作流状态为“待属主确认”;
i.在开发人员确认变更提交完成后关闭该变更单。
进一步,步骤a中,所述在本地创建补丁文件是指:开发人员通过版本管理工具客户端或者补丁工具创建本地代码修改后的差异文件。
进一步,步骤g中,所述代码处理器模块对变更中的补丁文件进行解析,调用版本管理工具代理下载文件工作副本,具体包括:
获取变更单中的补丁文件,解析该补丁文件,生成每个需要变更文件所在版本库的全路径,根据路径调用版本管理工具代理下载文件工作副本。
本发明的有益效果是:通过对补丁文件的有效利用,从技术上保证了变更审核人员审核的代码即为最终提交到版本库中的代码,避免多提、漏提带来的质量问题,也方便了代码审核和代码提交;同时由于变更控制的流程都是通过系统控制,可与各种流程管理相关的系统集成,形成从需求到代码提交的综合解决方案,将各种复杂的流程统一管理,使得流程简单化、规范化,从而提高企业的生产效率。
附图说明
图1为代码变更控制系统结构框图;
图2为代码变更控制方法实施例流程图。
具体实施方式
本发明旨在提出一种代码变更控制系统及方法,解决传统技术中的代码变更控制方式增加出错率及操作复杂、效率低的问题。
下面结合附图及实施例对本发明的方案作进一步的描述:
参见图1,本发明中的代码变更控制系统包括:
变更管理模块,用于完成变更的创建、查看及在开发人员提交变更后生成变更单,将变更单提交给工作流管理模块;
工作流管理模块,用于控制变更单的流转以及设置工作流状态;
代码处理器模块,用于对变更中的补丁文件进行解析,调用版本管理工具代理下载文件工作副本,调用补丁工具应用该补丁文件到工作副本生成对应代码,然后调用版本管理工具代理提交工作副本,完成代码提交;
版本管理工具代理模块,用于提供操作版本库(如:SVN)的接口。
基于上述变更控制系统实现的控制方法实施例流程如图2所示,其包括以下步骤:
201、创建变更:开发人员通过本发明的代码变更控制系统中的变更管理模块新建变更;
202、创建patch文件:开发人员通过版本管理工具客户端或者patch工具创建本地代码修改后的patch文件;
203、上传patch文件及路径:将patch文件和创建patch文件的目录对应的版本库路径通过web页面一起上传至变更服务器;
204、填写审核人:开发人员在变更单中填写该变更单的审核人员信息;
205、提交变更:向系统提交该变更,变更管理模块生成相应的变更单,将变更单提交给工作流管理模块;
206、读取变更单工作流程:工作流管理模块根据变更单的类型读取该变更单的工作流程(本系统的工作流程状态为:处理中-待审核-等待变更提交-待属主确认-关闭);
207、设置变更流程状态:工作流管理模块设置变更单的工作流状态为“待审核”;
208、通知变更审核人:工作流管理模块通知该变更单的审核人员;
209、审核通过:该变更单的相应审核人员对该变更单进行审核,在审核通过后,工作流管理模块设置变更单的工作流状态为“等待变更提交”,并通知代码处理器模块;
210、patch文件解析:代码处理器获取变更单中的patch文件和对应路径,解析patch文件,生成每个需要变更文件所在版本库(SVN)的全路径;
211、下载需要提交的工作副本:代码处理器模块根据路径调用版本管理工具代理下载文件工作副本;、
212、应用patch文件:代码处理器模块调用Patch工具应用patch文件到工作副本,生成和开发人员本地一样的代码,从而保证提交的代码就是审核过的代码;
213、提交工作副本:代码处理器模块调用版本管理工具提交工作副本;
214、切换变更状态:工作流管理模块设置变更单的工作流状态为“待属主确认”;
215、提交完成:在开发人员确认变更提交完成后关闭该变更单,即完成代码提交。
需要说明的是,本发明要求保护的范围包含但不仅限于上述实施例,本领域技术人员根据以上描述在不脱离本发明精神实质的情况下对本发明的技术内容作出的等同修改/替换,均在本发明的保护范围之内。

Claims (8)

1.代码变更控制系统,其特征在于,包括:
变更管理模块,用于完成变更的创建、查看及在开发人员提交变更后生成变更单,将变更单提交给工作流管理模块;
工作流管理模块,用于控制变更单的流转以及设置工作流状态;
代码处理器模块,用于对变更中的补丁文件进行解析,调用版本管理工具代理下载文件工作副本,调用补丁工具应用该补丁文件到工作副本生成对应代码,然后调用版本管理工具代理提交工作副本,完成代码提交;
版本管理工具代理模块,用于提供操作版本库的接口。
2.如权利要求1所述的代码变更控制系统,其特征在于,
所述变更单包括补丁文件及创建补丁文件的目录对应的版本库路径。
3.如权利要求2所述的代码变更控制系统,其特征在于,
所述补丁文件是指开发人员通过版本管理工具客户端或者补丁工具创建本地代码修改后的差异文件。
4.如权利要求1所述的代码变更控制系统,其特征在于,
所述工作流管理模块用于控制变更单的流转以及设置工作流状态具体包括:
工作流管理模块在收到变更单后读取变更单的工作流程,设置变更单的工作流状态为“待审核”,并通知该变更单的审核人员;在变更审核通过后,设置变更单的工作流状态为“等待变更提交”,并通知代码处理器模块解析变更、提交代码;在代码处理器模块完成代码提交后,设置变更单的工作流状态为“待属主确认”;在开发人员确认变更提交完成后关闭该变更单。
5.如权利要求1-4任意一项所述的代码变更控制系统,其特征在于,
所述代码处理器模块用于对变更中的补丁文件进行解析,调用版本管理工具下载文件工作副本具体包括:
获取变更单中的补丁文件,解析该补丁文件,生成每个需要变更文件所在版本库的全路径,根据路径调用版本管理工具代理下载文件工作副本。
6.代码变更控制方法,其特征在于,包括以下步骤:
a.开发人员新建一个变更,并在本地创建补丁文件;
b.将补丁文件和创建补丁文件的目录对应的版本库路径上传至变更服务器;
c.填写该变更的审核人员,提交变更;
d.变更管理模块生成变更单并提交给工作流管理模块;
e.工作流管理模块读取变更单工作流程,设置变更单的工作流状态为“待审核”,并通知该变更的审核人员;
f.在审核人员对该变更审核通过后,设置变更单的工作流状态为“等待变更提交”并通知代码处理器模块;
g.代码处理器模块对变更中的补丁文件进行解析,调用版本管理工具代理下载文件工作副本,调用补丁工具应用该补丁文件到工作副本生成对应代码,然后调用版本管理工具代理提交工作副本,完成代码提交;
h.工作流管理模块设置变更单的工作流状态为“待属主确认”;
i.在开发人员确认变更提交完成后关闭该变更单。
7.如权利要求6所述的代码变更控制方法,其特征在于,
步骤a中,所述在本地创建补丁文件是指:开发人员通过版本管理工具客户端或者补丁工具创建本地代码修改后的差异文件。
8.如权利要求5所述的代码变更控制方法,其特征在于,
步骤g中,所述代码处理器模块对变更中的补丁文件进行解析,调用版本管理工具代理下载文件工作副本,具体包括:
获取变更单中的补丁文件,解析该补丁文件,生成每个需要变更文件所在版本库的全路径,根据路径调用版本管理工具代理下载文件工作副本。
CN201310444498.6A 2013-09-23 2013-09-23 代码变更控制系统及方法 Active CN103473075B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310444498.6A CN103473075B (zh) 2013-09-23 2013-09-23 代码变更控制系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310444498.6A CN103473075B (zh) 2013-09-23 2013-09-23 代码变更控制系统及方法

Publications (2)

Publication Number Publication Date
CN103473075A true CN103473075A (zh) 2013-12-25
CN103473075B CN103473075B (zh) 2017-02-08

Family

ID=49797947

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310444498.6A Active CN103473075B (zh) 2013-09-23 2013-09-23 代码变更控制系统及方法

Country Status (1)

Country Link
CN (1) CN103473075B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105159831A (zh) * 2015-08-31 2015-12-16 浪潮集团有限公司 一种软件代码质量自动监控方法
CN105373388A (zh) * 2015-11-30 2016-03-02 西安闻泰电子科技有限公司 自动上传patch修改的代码管理方法
CN105739968A (zh) * 2016-01-20 2016-07-06 北京京东尚科信息技术有限公司 基于分布式版本控制系统Git的更新内容的评审方法和装置
CN106445476A (zh) * 2015-08-11 2017-02-22 腾讯科技(深圳)有限公司 一种代码变更信息确定方法、装置及电子设备
CN106775713A (zh) * 2016-12-14 2017-05-31 网易(杭州)网络有限公司 文件审核方法、装置及文件提交控制系统
CN107111545A (zh) * 2014-11-05 2017-08-29 起元科技有限公司 调试图
CN108073394A (zh) * 2018-02-27 2018-05-25 西安闻泰电子科技有限公司 代码管理方法、装置、代码管理服务器及存储介质
CN109032629A (zh) * 2018-06-28 2018-12-18 北京达佳互联信息技术有限公司 一种代码更新方法及装置
CN109800018A (zh) * 2019-01-10 2019-05-24 郑州云海信息技术有限公司 一种基于Gerrit的代码管理方法及系统
CN110888665A (zh) * 2019-11-27 2020-03-17 上海米哈游网络科技股份有限公司 一种变更内容提交方法、装置、设备及存储介质
CN115167909A (zh) * 2022-09-08 2022-10-11 云账户技术(天津)有限公司 一种变更文件的管理方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6223343B1 (en) * 1997-04-04 2001-04-24 State Farm Mutual Automobile Insurance Co. Computer system and method to track and control element changes throughout application development
US20060031812A1 (en) * 2004-08-03 2006-02-09 Karl Olson System and method for checklist management
CN102710753A (zh) * 2012-05-15 2012-10-03 华为技术有限公司 一种互联网应用的发布方法、装置及系统
CN103246528A (zh) * 2012-02-10 2013-08-14 中兴通讯股份有限公司 软件升级方法和装置
CN103309804A (zh) * 2013-04-08 2013-09-18 中国电子科技集团公司第十研究所 自动化代码规则检查平台

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6223343B1 (en) * 1997-04-04 2001-04-24 State Farm Mutual Automobile Insurance Co. Computer system and method to track and control element changes throughout application development
US20060031812A1 (en) * 2004-08-03 2006-02-09 Karl Olson System and method for checklist management
CN103246528A (zh) * 2012-02-10 2013-08-14 中兴通讯股份有限公司 软件升级方法和装置
CN102710753A (zh) * 2012-05-15 2012-10-03 华为技术有限公司 一种互联网应用的发布方法、装置及系统
CN103309804A (zh) * 2013-04-08 2013-09-18 中国电子科技集团公司第十研究所 自动化代码规则检查平台

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107111545A (zh) * 2014-11-05 2017-08-29 起元科技有限公司 调试图
CN106445476A (zh) * 2015-08-11 2017-02-22 腾讯科技(深圳)有限公司 一种代码变更信息确定方法、装置及电子设备
CN106445476B (zh) * 2015-08-11 2020-04-07 腾讯科技(深圳)有限公司 一种代码变更信息确定方法、装置及电子设备
CN105159831A (zh) * 2015-08-31 2015-12-16 浪潮集团有限公司 一种软件代码质量自动监控方法
CN105373388A (zh) * 2015-11-30 2016-03-02 西安闻泰电子科技有限公司 自动上传patch修改的代码管理方法
CN105739968A (zh) * 2016-01-20 2016-07-06 北京京东尚科信息技术有限公司 基于分布式版本控制系统Git的更新内容的评审方法和装置
CN105739968B (zh) * 2016-01-20 2020-06-30 北京京东尚科信息技术有限公司 基于分布式版本控制系统Git的更新内容的评审方法和装置
CN106775713B (zh) * 2016-12-14 2020-04-07 网易(杭州)网络有限公司 文件审核方法、装置及文件提交控制系统
CN106775713A (zh) * 2016-12-14 2017-05-31 网易(杭州)网络有限公司 文件审核方法、装置及文件提交控制系统
CN108073394A (zh) * 2018-02-27 2018-05-25 西安闻泰电子科技有限公司 代码管理方法、装置、代码管理服务器及存储介质
CN109032629A (zh) * 2018-06-28 2018-12-18 北京达佳互联信息技术有限公司 一种代码更新方法及装置
CN109800018A (zh) * 2019-01-10 2019-05-24 郑州云海信息技术有限公司 一种基于Gerrit的代码管理方法及系统
CN110888665A (zh) * 2019-11-27 2020-03-17 上海米哈游网络科技股份有限公司 一种变更内容提交方法、装置、设备及存储介质
CN110888665B (zh) * 2019-11-27 2023-05-26 上海米哈游网络科技股份有限公司 一种变更内容提交方法、装置、设备及存储介质
CN115167909A (zh) * 2022-09-08 2022-10-11 云账户技术(天津)有限公司 一种变更文件的管理方法及装置

Also Published As

Publication number Publication date
CN103473075B (zh) 2017-02-08

Similar Documents

Publication Publication Date Title
CN103473075A (zh) 代码变更控制系统及方法
Mejia Bernal et al. Dynamic context-aware business process: a rule-based approach supported by pattern identification
US20110119444A1 (en) Adaptive caching of data
US8793708B2 (en) Creation and termination of component scopes
KR101212778B1 (ko) 클라우드 컴퓨팅 기반 스마트 오피스 시스템 및 이의 운용을 위한 서버 및 운용 방법
CN102880683B (zh) 一种可行性研究报告的自动网络生成系统及其生成方法
CN103780686A (zh) 一种云组织内自定义申请审批流程的方法及系统
CN105068794A (zh) 一种支持Web页面本地研发的实现方法
CN109657177A (zh) 升级后页面的生成方法、装置、存储介质及计算机设备
CN109240732A (zh) 一种基于灵活规则的流程编排方法
CN103078940A (zh) 在云计算操作系统中进行资源申请审批的方法和系统
CN110765187A (zh) 一种数据源路由管理方法和装置
US11238552B2 (en) System automating the preparation of international intellectual property applications for filling
CN105207989A (zh) 一种多维度用户的工作台系统及其控制方法
CN105117846A (zh) 专利在线业务处理系统
CN103593345A (zh) 网页流程图编辑方法及系统
US11599687B1 (en) System and method to facilitate the design, manufacturing and construction of structures
CN103809951A (zh) 一种基于flex技术图形化服务编排和管理装置
CN103971224A (zh) 一种签核方法及系统
CN101719234A (zh) 一种拆分工作流的方法及装置
CN114841678B (zh) 岗位数据交换方法、数据交换系统,服务器及存储介质
CA2674579A1 (en) Workflow automation and request processing
Shuttleworth Translation management systems
Pan et al. RETRACTED ARTICLE: Research on process customization technology for intelligent transportation cloud service platform
CN111340435A (zh) 合同管理系统及合同管理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 610041 15-24 floor, 1 1 Tianfu street, Chengdu high tech Zone, Sichuan

Patentee after: MAIPU COMMUNICATION TECHNOLOGY Co.,Ltd.

Address before: 610041 Sichuan city of Chengdu province high tech Zone nine Hing Road No. 16 building, Maipu

Patentee before: MAIPU COMMUNICATION TECHNOLOGY Co.,Ltd.

CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 610041 nine Xing Xing Road 16, hi tech Zone, Sichuan, Chengdu

Patentee after: MAIPU COMMUNICATION TECHNOLOGY Co.,Ltd.

Address before: 610041 15-24 floor, 1 1 Tianfu street, Chengdu high tech Zone, Sichuan

Patentee before: MAIPU COMMUNICATION TECHNOLOGY Co.,Ltd.