一种代码分支冲突提前预警方法技术

技术编号:24408998 阅读:27 留言:0更新日期:2020-06-06 08:20
本发明专利技术提供了一种代码分支冲突提前预警方法,包括在用户与代码服务器之间添加的用户命令处理模块、分支检测范围配置模块、分支查询模块和分支冲突检测模块,具有以下步骤:(1)用户向代码服务器发送代码提交命令,将最新代码提交至代码服务器目标分支A;(2)用户命令处理模块拦截并分析用户命令,并解析出用户命令;(3)代码服务器将用户提交结果返回给用户命令处理模块;(4)分支检测范围配置模块将检测范围配置信息告知分支查询模块;本发明专利技术使用效果好,在团队分支协同开发时,能够主动、及时的发现代码冲突,极大的提高了开发效率。

An early warning method of code branch conflict

【技术实现步骤摘要】
一种代码分支冲突提前预警方法
本专利技术涉及软件开发领域,具体是一种代码分支冲突提前预警方法。
技术介绍
在企业进行多人协同软件开发时,利用不同代码分支进行开发已经是当前的基本做法。分支开发带来的优点是不同团队或者不同个人在进行开发时,可以相互隔离,做到互不影响。以免因为相互影响而影响开发进度,例如A团队例用分支A进行功能A的开发,B团队例用分支B进行功能B的开发,就可以实现谁先开发完毕就可以合入主干分支并进行部署上线。如果不使用分支开发,则功能A和B的代码会混合在一起,直到功能A和B全部完成才能部署上线,除非采用其他例如功能开关等复杂技术方案才能实现分支开发隔离的优点。但是分支开发带来了软件开发的一个经典问题,就是分支代码冲突。当A团队开发完毕,代码准备合入主干分支时,发现代码和B团队的代码发生了重大冲突。导致需要花费大量时间来解决冲突并进行重新测试。现有代码版本控制软件都提供了代码分支对比的基本功能,用户调用相关命令可以查看分支代码是否冲突。但是在使用过程中发现具有以下缺点:1.被动;只有用户主动去执行分支比较命令时才会发现冲突。2.滞后,修复成本高;当发现冲突时,通常时间比较滞后了,修复成本会比及时发现高很多。3.难以确定比较范围,效率低下;通常团队协同开发时,分支众多,且团队越大,分支越多;且随着开发历史久远,堆积的历史分支可能越来越多。如果靠用户去逐个手动比较,效率极低,当分支数量太多时,问题尤为突出。
技术实现思路
本专利技术的目的在于提供一种代码分支冲突提前预警方法,以解决上述
技术介绍
中提出的问题。为实现上述目的,本专利技术提供如下技术方案:一种代码分支冲突提前预警方法,包括在用户与代码服务器之间添加的用户命令处理模块、分支检测范围配置模块、分支查询模块和分支冲突检测模块,具有以下步骤:(1)用户向代码服务器发送代码提交命令,将最新代码提交至代码服务器目标分支A;(2)用户命令处理模块拦截并分析用户命令,并解析出用户命令;如果不是代码提交命令,则直接将用户命令转交给代码服务器处理,并将代码服务器原生返回结果按原路径返回给用户;如果是代码提交命令,则解析出其目标分支A,然后将处理流程转交给代码服务器处理;(3)代码服务器将用户提交结果返回给用户命令处理模块;如果提交失败,则用户命令处理模块将代码服务器返回的原生失败信息返回给用户,流程结束;如果提交成功,则用户命令处理模块将代码服务器返回的原生成功信息记为MessageC暂存,并进入额外的分支冲突检测流程,进入分支检测范围配置模块;(4)分支检测范围配置模块将检测范围配置信息告知分支查询模块;(5)分支查询模块根据检测范围配置信息去代码服务器进行查询,查询在代码服务器的分支中,有哪些分支符合检测条件;(6)代码服务器将符合条件的分支列表数据,记为ListB,回传给分支查询模块;(7)分支查询模块将符合条件的分支列表数据ListB发送给分支冲突检测模块;(8)如果ListB数据为空,则分支冲突检测模块无需进行实际检测,直接告知用户命令处理模块检测未发现分支冲突;此时用户命令处理模块暂存的MessageC返回给用户;如果ListB数据不为空,则分支冲突检测模块调用代码服务器原生命令,将分支A及ListB中的各分支进行逐个比对,假设经过比对,ListB中仅有部分分支和分支A代码冲突,则将这些分支记为ListD;(9)分支冲突检测模块将ListD发送给用户命令处理模块;(10)用户命令处理模块将暂存的MessageC、分支冲突信息ListD发送给用户,流程结束。作为本专利技术进一步的方案:所述用户命令处理模块用以拦截用户请求,解析用户代码操作命令,并实现和用户信息交互。作为本专利技术进一步的方案:所述分支检测范围配置模块用以设置需要检测的分支范围,仅检测一定时间范围内有代码更新,且分支名称符合设定范围的分支列表。作为本专利技术进一步的方案:所述分支检测范围配置模块检测的范围包括指定时间范围和指定分支名称范围,分支名称范围支持模糊匹配和精确匹配。作为本专利技术进一步的方案:所述分支查询模块根据分支检测范围配置模块中的信息,向代码服务器检索符合检测条件的分支列表。作为本专利技术进一步的方案:所述分支冲突检测模块进行具体的分支代码是否存在冲突的检测。与现有技术相比,本专利技术的有益效果是:本专利技术采用上述方法,在用户和远程代码服务器之间设立分支代码冲突检测模块,将冲突结果第一时间反馈到用户,在团队分支协同开发时,发现代码冲突的时间提前,有效的降低了修复冲突的成本,提升手动比较分支冲突时的效率,使用更加方便。对于检测的目标分支范围,根据一定时间范围内是否有代码更新及分支名称范围进行综合确定,使用更加便捷,能够主动、及时的发现代码冲突,极大的提高了开发效率。本专利技术使用效果好,在团队分支协同开发时,能够主动、及时的发现代码冲突,极大的提高了开发效率。附图说明图1为一种代码分支冲突提前预警方法的流程图。具体实施方式下面结合具体实施方式对本专利的技术方案作进一步详细地说明。请参阅图1,一种代码分支冲突提前预警方法,包括在用户与代码服务器之间添加的用户命令处理模块、分支检测范围配置模块、分支查询模块和分支冲突检测模块,所述用户命令处理模块用以拦截用户请求,解析用户代码操作命令,并实现和用户信息交互;所述分支检测范围配置模块用以设置需要检测的分支范围,仅检测一定时间范围内有代码更新,且分支名称符合设定范围的分支列表;分支检测范围配置模块检测的范围包括指定时间范围和指定分支名称范围,分支名称范围支持模糊匹配和精确匹配;所述分支查询模块根据分支检测范围配置模块中的信息,向代码服务器检索符合检测条件的分支列表;所述分支冲突检测模块进行具体的分支代码是否存在冲突的检测;具有以下步骤:(1)用户向代码服务器发送代码提交命令,将最新代码提交至代码服务器目标分支A,如箭头1所示。(2)用户命令处理模块拦截并分析用户命令,解析出用户命令;如果不是代码提交命令,则直接将用户命令转交给代码服务器处理,如箭头2所示;并将代码服务器原生返回结果按原路径返回给用户,如箭头3、箭头12所示。如果用户命令处理模块解析出用户命令是代码提交命令,则解析出其目标分支A,然后将处理流程转交给代码服务器处理,如箭头2所示。(3)代码服务器将用户提交结果返回给用户命令处理模块,如箭头3所示。如果提交失败,则用户命令处理模块将代码服务器返回的原生失败信息按箭头12所示返回给用户,流程结束。如果提交成功,则用户命令处理模块将代码服务器返回的原生成功信息记为MessageC暂存,并进入额外的分支冲突检测流程,进入分支检测范围配置模块,如箭头4所示。(4)分支检测范围配置模块将检测范围配置信息告知分支查询模块,如箭头5所示。...

【技术保护点】
1.一种代码分支冲突提前预警方法,其特征在于,包括在用户与代码服务器之间添加的用户命令处理模块、分支检测范围配置模块、分支查询模块和分支冲突检测模块,具有以下步骤:/n(1)用户向代码服务器发送代码提交命令,将最新代码提交至代码服务器目标分支A;/n(2)用户命令处理模块拦截并分析用户命令,并解析出用户命令;/n如果不是代码提交命令,则直接将用户命令转交给代码服务器处理,并将代码服务器原生返回结果按原路径返回给用户;/n如果是代码提交命令,则解析出其目标分支A,然后将处理流程转交给代码服务器处理;/n(3)代码服务器将用户提交结果返回给用户命令处理模块;/n如果提交失败,则用户命令处理模块将代码服务器返回的原生失败信息返回给用户,流程结束;/n如果提交成功,则用户命令处理模块将代码服务器返回的原生成功信息记为MessageC暂存,并进入额外的分支冲突检测流程,进入分支检测范围配置模块;/n(4)分支检测范围配置模块将检测范围配置信息告知分支查询模块;/n(5)分支查询模块根据检测范围配置信息去代码服务器进行查询,查询在代码服务器的分支中,有哪些分支符合检测条件;/n(6)代码服务器将符合条件的分支列表数据,记为List B,回传给分支查询模块;/n(7)分支查询模块将符合条件的分支列表数据List B发送给分支冲突检测模块;/n(8)如果List B数据为空,则分支冲突检测模块无需进行实际检测,直接告知用户命令处理模块检测未发现分支冲突;此时用户命令处理模块暂存的Message C返回给用户;/n如果List B数据不为空,则分支冲突检测模块调用代码服务器原生命令,将分支A及List B中的各分支进行逐个比对,假设经过比对,List B中仅有部分分支和分支A代码冲突,则将这些分支记为List D;/n(9)分支冲突检测模块将List D发送给用户命令处理模块;/n(10)用户命令处理模块将暂存的Message C、分支冲突信息List D发送给用户,流程结束。/n...

【技术特征摘要】
1.一种代码分支冲突提前预警方法,其特征在于,包括在用户与代码服务器之间添加的用户命令处理模块、分支检测范围配置模块、分支查询模块和分支冲突检测模块,具有以下步骤:
(1)用户向代码服务器发送代码提交命令,将最新代码提交至代码服务器目标分支A;
(2)用户命令处理模块拦截并分析用户命令,并解析出用户命令;
如果不是代码提交命令,则直接将用户命令转交给代码服务器处理,并将代码服务器原生返回结果按原路径返回给用户;
如果是代码提交命令,则解析出其目标分支A,然后将处理流程转交给代码服务器处理;
(3)代码服务器将用户提交结果返回给用户命令处理模块;
如果提交失败,则用户命令处理模块将代码服务器返回的原生失败信息返回给用户,流程结束;
如果提交成功,则用户命令处理模块将代码服务器返回的原生成功信息记为MessageC暂存,并进入额外的分支冲突检测流程,进入分支检测范围配置模块;
(4)分支检测范围配置模块将检测范围配置信息告知分支查询模块;
(5)分支查询模块根据检测范围配置信息去代码服务器进行查询,查询在代码服务器的分支中,有哪些分支符合检测条件;
(6)代码服务器将符合条件的分支列表数据,记为ListB,回传给分支查询模块;
(7)分支查询模块将符合条件的分支列表数据ListB发送给分支冲突检测模块;
(8)如果ListB数据为空,则分支冲突检测模块无需进行实际检测,直接告知用户命令处理模块检测未发现分支冲突;此时用户命令处...

【专利技术属性】
技术研发人员:刘庆
申请(专利权)人:北京简单一点科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1