关联冲突块呈现方法和设备技术

技术编号:24251131 阅读:80 留言:0更新日期:2020-05-22 23:22
本申请提供一种关联冲突块呈现方法和设备。该方法包括:获取第一冲突文件,所述第一冲突文件中包括多个代码块,每个代码块包括所述代码块当前版本的代码片段、所述代码块基础版本的代码片段和所述代码块待合并版本的代码片段;接收用户界面触发的用于激活待处理代码块的第一指令,所述待处理代码块的类型为未消解冲突块或者单方变更块;在所述用户界面呈现所述待处理代码块包含的代码片段以及所述待处理代码块的N个关联代码块的索引;使得用户可以快速查找到当前冲突块中变量和/或函数的定义以及使用情况,另外还可参考与当前冲突块相似的并且已经消解的代码块的消解方案,极大提高了用户消解冲突块的效率。

Association conflict block rendering method and device

【技术实现步骤摘要】
关联冲突块呈现方法和设备
本申请涉及软件开发
,尤其涉及一种关联冲突块呈现方法和设备。
技术介绍
在软件开发过程中,不同的项目组在同一版本代码的基础上并行开发情况下,开发完成后,基于功能合并等原因,需要将各自开发的代码进行合并。但是,如果不同项目组在开发过程中对基础版本中相同代码实体进行了不同的变更,在合并时就会产生代码冲突。目前,很多用户采用SemanticMerge工具进行冲突块的自动消解,然而,该工具并不能完全消解代码合并过程中产生的所有冲突,也就是说,代码冲突的彻底消解仍依赖人工参与,如何提高人工消解效率成为主要问题。SemanticMerge工具中对于不能自动消解的冲突块展示了冲突块内部洞察信息。比如:当前版本相对于基础版本的变更信息以及待合并版本相对于基础版本的变更信息等,用户在做消解时可以通过这些洞察信息直观地了解到当前冲突块包含的三个版本的代码片段之间的不同,然而,用户在做消解时,更多时候需要查看关联冲突块的代码片段,上述仅提供当前冲突块内部洞察信息的方法,不能满足用户快速定位关联冲突块的需求。
技术实现思路
本文档来自技高网
...

【技术保护点】
1.一种关联冲突块呈现方法,其特征在于,包括:/n获取第一冲突文件,所述第一冲突文件中包括多个代码块,每个代码块包括所述代码块当前版本的代码片段、所述代码块基础版本的代码片段和所述代码块待合并版本的代码片段;/n接收用户界面触发的用于激活待处理代码块的第一指令,所述待处理代码块的类型为未消解冲突块或者单方变更块;/n在所述用户界面呈现所述待处理代码块包含的代码片段以及所述待处理代码块的N个关联代码块的索引;/n其中,每个关联代码块的类型为未消解冲突块、单方变更块和已消解冲突块中的一种,每个关联代码块与所述待处理代码块的关联关系为依赖关系、被依赖关系和相似关系中的一种,N大于等于1。/n

【技术特征摘要】
1.一种关联冲突块呈现方法,其特征在于,包括:
获取第一冲突文件,所述第一冲突文件中包括多个代码块,每个代码块包括所述代码块当前版本的代码片段、所述代码块基础版本的代码片段和所述代码块待合并版本的代码片段;
接收用户界面触发的用于激活待处理代码块的第一指令,所述待处理代码块的类型为未消解冲突块或者单方变更块;
在所述用户界面呈现所述待处理代码块包含的代码片段以及所述待处理代码块的N个关联代码块的索引;
其中,每个关联代码块的类型为未消解冲突块、单方变更块和已消解冲突块中的一种,每个关联代码块与所述待处理代码块的关联关系为依赖关系、被依赖关系和相似关系中的一种,N大于等于1。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述用户界面触发的用于激活任一关联代码块的第二指令;
将所述用户界面呈现的所述待处理代码块包含的代码片段跳转为所述关联代码块包含的代码片段。


3.根据权利要求1或2所述的方法,其特征在于,所述用户界面设有依赖组、被依赖组和相似组;
所述在所述用户界面呈现所述待处理代码块的N个关联代码块的索引,包括:
根据每个关联代码块与所述待处理代码块的关联关系,将每个关联代码块的索引呈现在所述依赖组、所述被依赖组或所述相似组中。


4.根据权利要求1-3任一项所述的方法,其特征在于,所述在所述用户界面呈现所述待处理代码块的N个关联代码块的索引之前,还包括:
从所述第一冲突文件中确定所述待处理代码块的至少一个关联代码块。


5.根据权利要求1-4任一项所述的方法,其特征在于,所述在所述用户界面呈现所述待处理代码块的N个关联代码块的索引之前,还包括:
获取第二冲突文件;
从所述第二冲突文件中确定与所述待处理代码块的至少一个关联代码块。


6.根据权利要求4所述的方法,其特征在于,所述从所述第一冲突文件中确定所述待处理代码块的至少一个关联代码块,包括:
根据所述待处理代码块中的变量和/或函数在所述第一冲突文件的其他代码块中的利用情况,从所述第一冲突文件中确定与所述待处理代码块有依赖关系和被依赖关系的关联代码块;和/或
根据所述待处理代码块包含的代码片段各自对应的Token串和抽象语法子树,从所述第一冲突文件中确定与所述待处理代码块有相似关系的关联代码块。


7.一种终端设备,其特征在于,包括:
获取模块,用于获取第一冲突文件,所述第一冲突文件中包括多个代码块,每个代码块包括所述代码块当前版本的代码片段、所述代码块基础版本的代码片...

【专利技术属性】
技术研发人员:魏昭梁广泰程善滨王千祥
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1