【技术实现步骤摘要】
一种基于文本匹配的重复冲突方案检测方法
[0001]本专利技术属于计算机
,尤其是软件
,具体是一种基于文本匹配的重复冲突方案检测方法。
技术介绍
[0002]随着互联网技术的应用越来越广泛,以及软件行业日新月异的变化,远程协同工作、软件代码仓库的使用以及解决冲突的需求越来越多。在协同开发工作中,有两种基础形式,分布式和集中式。而Git作为一个典型的软件代码仓库,是目前世界上最先进的分布式版本控制系统。分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆,在本地机器上拷贝一个完整的Git仓库。Git 是用于 Linux内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如 Linux kernel 这样的大项目来说自然很重要。 Git 最为出色的是它的合并跟踪能力。
[0003]然而,在协同工作中,会有不同的人来进行协同工作,会产生分支,而使用 ...
【技术保护点】
【技术特征摘要】
1.一种基于文本匹配的重复冲突方案检测方法,其特征在于,包括以下几个步骤:步骤1)对于具有历史合并代码的代码仓库,提取出提交树中所有合并节点,然后判断合并节点是否为一个含有冲突历史信息的节点;步骤2)使用图遍历算法和节点合并分析,记录冲突节点的当前分支名,合并到当前分支的其他分支名,合并到当前分支的其他分支的前驱结点,冲突节点前驱的前驱节点,合并分支和待合并分支的祖先节点,并记录各个节点的提交标记;步骤3)使用文本匹配技术,提取文件中的代码块进行对比,然后对于匹配成功的代码块通过hash算法得到一个hash值,作为一个冲突方案的记录维度,然后将当前的仓库名,各个节点的提交标志,各个文件代码块的hash值、更新时间保存到数据库中,作为数据库中的代码冲突的合并方案;步骤4)使用数据库索引快速匹配技术,对现有冲突与保存的冲突方案进行匹配;将匹配成功的冲突方案返回,并且更新保存时间;匹配失败,程序员手动解决合并冲突问题,然后把当前合并成功的冲突方案记录到数据库中。2.根据权利要求1所述的基于文本匹配的重复冲突方案检测方法,其特征在于:所述步骤1)中,在判断合并节点的同时,通过提交树保存对比文件、源文件、参考文件、合并文件所在节点的commit Id,通过对commit Id的保存可以定位到冲突文件,记录好仓库名称。3. 根据权利要求2所述的基于文本匹配的重复冲突方案检测方法,其特征在于:获得所述commit Id的合并节点为E,对于该合并节点E,记录当前节点的所在的当前分支以及...
【专利技术属性】
技术研发人员:王翊,唐勇,刘世伟,李贺彬,张卫丰,
申请(专利权)人:南京邮电大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。