分支代码合并方法、装置、电子设备及存储介质制造方法及图纸

技术编号:37329094 阅读:10 留言:0更新日期:2023-04-21 23:07
本公开关于一种分支代码合并方法、装置、电子设备及存储介质,该方法包括:响应于分支代码合并操作,生成合并请求事件;在合并请求事件的请求类型为将第一分支的代码合并到多个第三分支的代码中的情况下,获取第二分支对应的创建时间,以及多个第三分支分别对应的创建时间;基于第二分支对应的创建时间,以及多个第三分支分别对应的创建时间,从多个第三分支中确定目标分支,并将第一分支的代码合并到目标分支的代码中。通过将多个第三分支对应的创建时间分别与第二分支对应的创建时间进行比较,能够自动准确地确定将第一分支的代码合并到哪些目标分支中,进而可以提高合并分支代码的效率和准确率。码的效率和准确率。码的效率和准确率。

【技术实现步骤摘要】
分支代码合并方法、装置、电子设备及存储介质


[0001]本申请涉及计算机
,特别是涉及一种分支代码方法、装置、电子设备、存储介质及计算机程序产品。

技术介绍

[0002]在业务开发中,由于同一仓库下存在多个产品线等原因,往往并行存在多个分支,例如,存在多个开发分支、测试分支等。
[0003]在实际应用中,经常会遇到合并分支代码的情况,并且,在将某一分支的代码合并到另一个分支的代码中之后,还需要将该分支的代码合并到其他分支中。例如,假设有三个分支,分别为A分支、B分支和C分支,在测试过程中,将A分支中用于漏洞修补的代码合并到B分支的代码之后,还需要将上述用于漏洞修补的代码合并到其他分支,如C分支。
[0004]相关技术中,在将一个分支的代码合并到其他分支时,首先需要开发人员人工判断待合并分支,即确定将该分支的代码合并到哪些分支的代码中;然后,开发人员手动将该分支的代码合并到待合并分支的代码中。开发人员人工合并分支代码,会导致合并分支代码的效率和准确率较低。

技术实现思路

[0005]为了解决相关技术中存在的上述技术问题,本公开提供了一种分支代码合并方法、装置、电子设备及存储介质,本公开的技术方案如下:
[0006]根据本公开实施例的第一方面,提供了一种分支代码合并方法,包括:
[0007]响应于分支代码合并操作,生成合并请求事件;所述分支代码合并操作用于触发将第一分支的代码合并到第二分支的代码中;
[0008]在所述合并请求事件的请求类型为将所述第一分支的代码合并到多个第三分支的代码中的情况下,获取所述第二分支对应的创建时间,以及所述多个第三分支分别对应的创建时间;所述第一分支的代码、所述第二分支的代码和所述第三分支的代码存储于同一数据库;
[0009]基于所述第二分支对应的创建时间,以及所述多个第三分支分别对应的创建时间,从所述多个第三分支中确定目标分支;所述目标分支对应的创建时间等于或者晚于所述第二分支对应的创建时间,且所述目标分支的代码包括所述第二分支的所有代码;
[0010]将所述第一分支的代码合并到所述目标分支的代码中。
[0011]可选的,所述方法还包括:
[0012]在所述生成合并请求事件之后,触发目标接口对所述合并请求事件进行解析,得到所述合并请求事件所携带的多个字段;所述合并请求事件与所述目标接口之间的触发关系是预先配置的;
[0013]在所述多个字段满足目标条件的情况下,确定所述合并请求事件的请求类型为将所述第一分支的代码合并到多个第三分支的代码中;所述目标条件为所述多个字段包括第
一字段、第二字段和第三字段,所述第一字段用于表征将第一分支的代码自动合并至多个第三分支的代码中;所述第二字段用于表征所述合并请求事件用于提交合并请求;所述第三字段用于表征已将第一分支的代码合并到第二分支的代码中。
[0014]可选的,所述多个字段还包括用于表征不同类型的第三分支对应的权限字段,一种类型的第三分支对应的权限字段用于表征将所述第一分支的代码合并至所述类型的第三分支的代码中,或者,用于表征不将所述第一分支的代码合并至所述类型的第三分支的代码中;所述方法还包括:
[0015]在所述多个第三分支中存在目标类型的第三分支的情况下,确定所述合并请求事件的请求类型为将所述第一分支的代码合并至所述目标类型的第三分支的代码中;所述目标类型的第三分支对应的权限字段用于表征将所述第一分支的代码合并至所述目标类型的第三分支的代码中。
[0016]可选的,所述获取第二分支对应的创建时间,包括:
[0017]在目标服务器中查找所述第二分支的创建时间;所述目标服务器为用于创建分支的服务器,且在所述目标服务器中创建任一分支时,所述目标服务器记录所述分支的创建时间。
[0018]可选的,所述方法还包括:
[0019]如果在所述目标服务器中未查找到所述第二分支的创建时间,获取所述第二分支和目标主分支对应的第一时间;所述目标主分支为所述第一分支、所述第二分支和所述第三分支公共对应的主分支;所述第一时间为所述第二分支和所述目标主分支公共提交代码的所有时间中,最近一次公共提交代码的时间;
[0020]将所述第一时间确定为所述第二分支对应的创建时间。
[0021]可选的,所述获取所述多个第三分支分别对应的创建时间,包括:
[0022]在所述目标服务器中查找每个第三分支的创建时间;
[0023]对于每个第三分支,如果在所述目标服务器中查找到所述第三分支对应的创建时间,将所述第三分支对应的创建时间存储于数组中;
[0024]如果在所述目标服务器中未查找到所述第三分支对应的创建时间,获取所述第三分支和目标主分支对应的第二时间,将所述第二时间确定为所述第三分支对应的创建时间,并存储于所述数组中;所述第二时间为所述第三分支和所述目标主分支公共提交代码的所有时间中,最近一次公共提交代码的时间。
[0025]可选的,所述方法还包括:
[0026]将所述数组中存储的第三分支对应的创建时间依次与所述第二分支对应的创建时间进行比较;
[0027]如果所述数组中存储的任一第三分支对应的创建时间早于所述第二分支对应的创建时间,将所述第三分支对应的创建时间从所述数组中删除,得到更新后的数组。
[0028]可选的,所述将所述第一分支的代码合并到所述目标分支的代码中,包括:
[0029]创建N个第四分支;所述第四分支的代码为所述第一分支的代码;所述N表示所述更新后的数组中存储的创建时间的数量;
[0030]创建所述N个分支代码合并请求;所述N个分支代码合并请求分别用于将一个第四分支的代码,合并到所述更新后的数组中创建时间对应的第三分支的代码中;
[0031]响应于所述N个分支代码合并请求,将所述N个第四分支的代码,分别合并到所述更新后的数组中创建时间对应的第三分支的代码中。
[0032]可选的,所述方法还包括:
[0033]在将一个第四分支的代码合并到对应的第三分支的代码成功的情况下,生成第一通知消息,发送所述第一通知消息,并删除所述第四分支;所述第一通知消息用于通知所述账户所述第一分支的代码已成功合并到对应的第三分支的代码中。
[0034]可选的,所述方法还包括:
[0035]在将一个第四分支的代码合并到对应的第三分支的代码失败的情况下,生成第二通知消息,发送所述第二通知消息;所述第二通知消息用于通知所述账户所述第一分支的代码与对应的第三分支的代码之间存在冲突;
[0036]在接收到所述账户已解决所述冲突的消息的情况下,将所述第一分支的代码合并到对应的第三分支的代码中。
[0037]可选的,所述方法还包括:
[0038]在将所述第一分支的代码合并到所述目标分支的代码中的情况下,将所述第一分支的代码合并到所述目标主分支的代码中。
[0039]第二方面,本公开实施例提供了一种分支代码合并装置,包括:<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分支代码合并方法,其特征在于,包括:响应于分支代码合并操作,生成合并请求事件;所述分支代码合并操作用于触发将第一分支的代码合并到第二分支的代码中;在所述合并请求事件的请求类型为将所述第一分支的代码合并到多个第三分支的代码中的情况下,获取所述第二分支对应的创建时间,以及所述多个第三分支分别对应的创建时间;所述第一分支的代码、所述第二分支的代码和所述第三分支的代码存储于同一数据库;基于所述第二分支对应的创建时间,以及所述多个第三分支分别对应的创建时间,从所述多个第三分支中确定目标分支;所述目标分支对应的创建时间等于或者晚于所述第二分支对应的创建时间,且所述目标分支的代码包括所述第二分支的所有代码;将所述第一分支的代码合并到所述目标分支的代码中。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述生成合并请求事件之后,触发目标接口对所述合并请求事件进行解析,得到所述合并请求事件所携带的多个字段;所述合并请求事件与所述目标接口之间的触发关系是预先配置的;在所述多个字段满足目标条件的情况下,确定所述合并请求事件的请求类型为将所述第一分支的代码合并到多个第三分支的代码中;所述目标条件为所述多个字段包括第一字段、第二字段和第三字段,所述第一字段用于表征将第一分支的代码自动合并至多个第三分支的代码中;所述第二字段用于表征所述合并请求事件用于提交合并请求;所述第三字段用于表征已将第一分支的代码合并到第二分支的代码中。3.根据权利要求2所述的方法,其特征在于,所述多个字段还包括用于表征不同类型的第三分支对应的权限字段,一种类型的第三分支对应的权限字段用于表征将所述第一分支的代码合并至所述类型的第三分支的代码中,或者,用于表征不将所述第一分支的代码合并至所述类型的第三分支的代码中;所述方法还包括:在所述多个第三分支中存在目标类型的第三分支的情况下,确定所述合并请求事件的请求类型为将所述第一分支的代码合并至所述目标类型的第三分支的代码中;所述目标类型的第三分支对应的权限字段用于表征将所述第一分支的代码合并至所述目标类型的第三分支的代码中。4.根据权利要求1至3任一项所述的方法,其特征在于,所述获取第二分支对应的创建时间,包括:在目标服务器中查找所述第二分支对应的创建时间;所述目标服务器为用于创建分支的服务器,且在所述目标服务器中创建任一分支时,所述目标服务器记录所述分支的创建时间。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:如果在所述目标服务器中未查找到所述第二分支对应的创建时间,获取所述第二分支和目标主分支对应的第一时间;所述目标主分支为所述第一分支、所述第二分支和所述第三分支公共对应的主分支;所述第一时间为所述第二分支和所述目标主分支公共提交代码的所有时间中,最近一次公共提交代码的时间;
将所述第一时间确定为所述第二分支对应的创建时间。6.根据权利要求4所述的方法,其特征在于,所述获取所述多个第三分支分别对应的创建时间,包括:在所述目标服务器中查找每个第三分支对应的创建时间;对于每个第三分支,如果在所述目标服务器中查找到所述第三分支对应的创建时间,将所述第三分支对应的创建时间存储于数组中;如果在所述目标服务器中未查找到所述第三分支对应的创建时间,获取所述第三分支和目标主分支对应的第二时间,将所述第二时间...

【专利技术属性】
技术研发人员:李金阳
申请(专利权)人:北京达佳互联信息技术有限公司
类型:发明
国别省市:

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

1