一种基于文本匹配的重复冲突方案检测方法技术

技术编号:33993627 阅读:35 留言:0更新日期:2022-07-02 10:20
本发明专利技术一种基于文本匹配的重复冲突方案检测方法,对于具有大量历史合并代码的数据库,从一个代码仓库向另一个代码仓库迁移,或一个代码库存在相似更新的现实场景,利用大量已经解决好合并问题的代码仓库信息,抽取出相关的合并解决方案。其次,对于获取到历史合并冲突的解决方案将其存储到数据库。然后,我们遇到现有冲突的时候,利用保存的冲突解决方案来进行合并方案的推荐。最后,基于历史信息解决的冲突,将其在数据库中的是更新时间进行更新,表明解决好的冲突使用频度。冲突是开发人员手动解决的话,将解决方案保存到数据库中。将解决方案保存到数据库中。将解决方案保存到数据库中。

【技术实现步骤摘要】
一种基于文本匹配的重复冲突方案检测方法


[0001]本专利技术属于计算机
,尤其是软件
,具体是一种基于文本匹配的重复冲突方案检测方法。

技术介绍

[0002]随着互联网技术的应用越来越广泛,以及软件行业日新月异的变化,远程协同工作、软件代码仓库的使用以及解决冲突的需求越来越多。在协同开发工作中,有两种基础形式,分布式和集中式。而Git作为一个典型的软件代码仓库,是目前世界上最先进的分布式版本控制系统。分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆,在本地机器上拷贝一个完整的Git仓库。Git 是用于 Linux内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如 Linux kernel 这样的大项目来说自然很重要。 Git 最为出色的是它的合并跟踪能力。
[0003]然而,在协同工作中,会有不同的人来进行协同工作,会产生分支,而使用Git版本控制提交项本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于文本匹配的重复冲突方案检测方法,其特征在于,包括以下几个步骤:步骤1)对于具有历史合并代码的代码仓库,提取出提交树中所有合并节点,然后判断合并节点是否为一个含有冲突历史信息的节点;步骤2)使用图遍历算法和节点合并分析,记录冲突节点的当前分支名,合并到当前分支的其他分支名,合并到当前分支的其他分支的前驱结点,冲突节点前驱的前驱节点,合并分支和待合并分支的祖先节点,并记录各个节点的提交标记;步骤3)使用文本匹配技术,提取文件中的代码块进行对比,然后对于匹配成功的代码块通过hash算法得到一个hash值,作为一个冲突方案的记录维度,然后将当前的仓库名,各个节点的提交标志,各个文件代码块的hash值、更新时间保存到数据库中,作为数据库中的代码冲突的合并方案;步骤4)使用数据库索引快速匹配技术,对现有冲突与保存的冲突方案进行匹配;将匹配成功的冲突方案返回,并且更新保存时间;匹配失败,程序员手动解决合并冲突问题,然后把当前合并成功的冲突方案记录到数据库中。2.根据权利要求1所述的基于文本匹配的重复冲突方案检测方法,其特征在于:所述步骤1)中,在判断合并节点的同时,通过提交树保存对比文件、源文件、参考文件、合并文件所在节点的commit Id,通过对commit Id的保存可以定位到冲突文件,记录好仓库名称。3. 根据权利要求2所述的基于文本匹配的重复冲突方案检测方法,其特征在于:获得所述commit Id的合并节点为E,对于该合并节点E,记录当前节点的所在的当前分支以及...

【专利技术属性】
技术研发人员:王翊唐勇刘世伟李贺彬张卫丰
申请(专利权)人:南京邮电大学
类型:发明
国别省市:

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

1