[发明专利]一种Git仓库文件注解系统的可视化漂移方法有效
申请号: | 201810016245.1 | 申请日: | 2018-01-08 |
公开(公告)号: | CN108228231B | 公开(公告)日: | 2021-07-27 |
发明(设计)人: | 张卫丰;申玉江;诸葛文杜 | 申请(专利权)人: | 南京邮电大学 |
主分类号: | G06F8/73 | 分类号: | G06F8/73;G06F8/77 |
代理公司: | 南京知识律师事务所 32207 | 代理人: | 李吉宽 |
地址: | 210003 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 git 仓库 文件 注解 系统 可视化 漂移 方法 | ||
本发明公开了一种Git仓库文件注解系统的可视化漂移方法,首先从数据库获取所有带有注解的历史版本记录;访问Git仓库获取历史版本记录对应的文件;先将新版本文件和历史版本文件中的每一行数据转换为哈希字符,对比分析后标记新文件中的代码块对应历史文件中的代码块;统计上述标记结果,对相等标记代码块进行分析,将历史版本中的行号与新版本中的行号一一对应,最终获取到所有历史版本中的注解在新版本中的对应位置;把注解内容在新版本文件行列号位置处进行标识,以可视化该注解内容。本发明将Git仓库中正在可视化的文件对应的历史版本文件中添加的注解在该文件中的相等代码处可视化,提供了一种基于Git仓库的多维度、多视角和可视化注解系统。
技术领域
本发明属于互联网和软件工程领域,涉及一种Git仓库文件注解系统的可视化漂移方法。
背景技术
Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。Git是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。每一个Git克隆都是一个完整的文件库,含有全部历史记录和修订追踪能力。其最大特色就是“分支”及“合并”操作快速、简便;支持离线工作,Git是整个项目范围的原子提交,而且Git中的每个工作树都包含一个具有完整项目历史的仓库。
Git保留了每次代码演化的全部历史记录,方便我们回退到历史版本查看我们需要的内容。虽然代码中已经有了功能注释和逻辑注释,但是在团队协作开发过程中,负责人在审核提交的代码的时候,可能需要在不改变源代码的情况下对部分代码添加一些注解,同时,开发者也可以对代码添加一些注解,这些注解可以包括大量文字的知识点解析、伪算法讲解和图片,还可以跨越多个文件的多处代码进行整合注解等。一方面可以作为审核人员的审核笔记,便于今后查阅,另一方面也可以作为提交者和审核者之间的一种交流方式,审核者提问,提交者修改或者回答,最后还可以作为其他用户快速熟悉代码功能逻辑的一个重要途径,可以防止开发人员流动过大,交接不方便和减少新加入的开发人员的阅读和学习时间的问题。目前,比较流行的GitHub或者GitLab代码托管平台本身没有提供这种注解内容多维度、多视角和可视化的功能,无法满足使用者的需求,因此亟需开发一种基于Git仓库的多维度、多视角和可视化注解系统来解决上述问题。
发明内容
本发明的目的是通过设计并实现一种Git仓库文件注解系统的可视化漂移方法,该算法主要是将Git仓库中正在可视化的文件对应的历史版本文件中添加的注解在该文件中的相等代码处可视化,同时可以达到工程项目的性能要求。
为实现上述目的,本发明采用的技术方案为一种Git仓库文件注解系统的可视化漂移方法,包括以下步骤:
S1:获取带有注解的历史版本文件
从存储历史版本文件注解的数据库获取该版本文件对应的历史版本文件的行记录;
S2:转换文件内容格式
将最新版本文件和历史版本文件中的每一行数据转换为哈希字符;
S3:文件对比分析
对比分析新版本文件和历史版本文件中代码块之间的关系,标记新版本文件中的代码块对应历史版本文件中的代码块是添加、删除或者是相等;
S4:统计相等代码块的行号对应关系
对相等标记代码块进行分析,将历史版本文件中的行号与新版本文件中的行号一一对应,最终获取到所有历史版本文件中的注解在新版文件本中的对应位置;
S5:可视化历史版本注解代码
把注解内容在新版本文件行列号位置处进行标识,当点击该标识时可视化该注解内容。
进一步,步骤S1中,获取带有注解的历史版本文件,具体为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810016245.1/2.html,转载请声明来源钻瓜专利网。