[发明专利]一种软件代码的多变更版本合并方法及装置有效
申请号: | 201911383077.0 | 申请日: | 2019-12-28 |
公开(公告)号: | CN111221566B | 公开(公告)日: | 2021-10-22 |
发明(设计)人: | 魏昭;梁广泰;李琳;王千祥 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F8/71 | 分类号: | G06F8/71;G06F8/72 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 黄冠雄 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软件 代码 多变 版本 合并 方法 装置 | ||
1.一种软件代码的多变更版本合并方法,其特征在于,该方法包括:
分析软件代码初步合并版本中的冲突块在第一软件代码变更版本中的第一代码区域和在第二软件代码变更版本中的第二代码区域,确定所述第一代码区域的变更意图和所述第二代码区域的变更意图,其中,所述第一软件代码变更版本和所述第二软件代码变更版本由原始软件代码变更后获取;
基于冲突消除规则集合,根据所述第一代码区域的变更意图和所述第二代码区域的变更意图消除所述冲突块,所述冲突消除规则集合中包括至少一个冲突消除规则,每个冲突消除规则记录了对冲突块,合并不同软件代码变更版本中的代码变更区域所采用的冲突消除方案。
2.如权利要求1所述的方法,其特征在于,所述方法,还包括:
调用预测模型消除所述软件代码初步合并版本中的冲突块,所述预测模型用于根据输入的冲突块输出所述冲突块的冲突消除方案。
3.如权利要求1或2所述的方法,其特征在于,所述方法,还包括:
分析所述软件代码初步合并版本中的冲突块和单方变更块,确定所述单方变更块之间的关联关系、以及所述单方变更块与所述冲突块之间的关联关系;
基于所述单方变更块之间的关联关系、以及所述单方变更块与所述冲突块之间的关联关系,提示存在隐式冲突。
4.如权利要求1或2所述的方法,其特征在于,所述确定第一代码区域的变更意图和所述第二代码区域的变更意图,包括:
调用多个变更分析器对第一变更动作集进行分析,确定所述第一代码区域的变更意图,所述第一变更动作集记录了针对所述原始软件代码,所述第一代码区域的变更动作;
调用所述多个变更分析器对第二变更动作集进行分析,确定所述第二代码区域的变更意图,所述第二变更动作集记录了针对所述原始软件代码,所述第二代码区域的变更动作,其中,一个所述变更分析器用于分析所述第一变更动作集和第二变更动作集中一种类型的语句、变量、函数或类,确定变更意图。
5.如权利要求3所述的方法,其特征在于,所述单方变更块之间的关联关系包括下列至少一项:
所述单方变更块之间函数的修改或引用关系、所述单方变更块之间变量的修改或引用关系;
所述单方变更块与所述冲突块之间的关联关系包括下列至少一项:
所述单方变更块与所述冲突块之间函数的修改或引用关系、所述单方变更块与所述冲突块之间变量的修改或引用关系。
6.如权利要求4所述的方法,其特征在于,所述方法,还包括:
构建所述原始软件代码的语法树、所述第一软件代码变更版本的语法树以及所述第二软件代码变更版本的语法树;
根据所述原始软件代码的语法树、第一软件代码变更版本的语法树确定所述第一变更动作集;
根据所述原始软件代码的语法树、所述第二软件代码变更版本的语法树确定所述第二变更动作集。
7.一种合并装置,其特征在于,该装置包括:
意图理解模块,用于分析软件代码初步合并版本中的冲突块在第一软件代码变更版本中的第一代码区域和在第二软件代码变更版本中的第二代码区域,确定所述第一代码区域的变更意图和所述第二代码区域的变更意图,其中,所述第一软件代码变更版本和所述第二软件代码变更版本由原始软件代码变更后获取;
显式冲突消除模块,用于基于冲突消除规则集合,根据所述第一代码区域的变更意图和所述第二代码区域的变更意图消除所述冲突块,所述冲突消除规则集合中包括至少一个冲突消除规则,每个冲突消除规则记录了对冲突块,合并不同软件代码变更版本中的代码变更区域所采用的冲突消除方案。
8.如权利要求7所述的装置,其特征在于,所述装置还包括隐式冲突预警模块:
所述隐式冲突预警模块,用于调用预测模型消除所述软件代码初步合并版本中的冲突块,所述预测模型用于根据输入的冲突块输出所述冲突块的冲突消除方案。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911383077.0/1.html,转载请声明来源钻瓜专利网。