[发明专利]一种基于Git的代码行生命周期追溯方法及电子装置有效

专利信息
申请号: 202110013631.7 申请日: 2021-01-06
公开(公告)号: CN112698866B 公开(公告)日: 2022-06-17
发明(设计)人: 朱家鑫;陈伟;吴国全;窦文生;魏峻 申请(专利权)人: 中国科学院软件研究所
主分类号: G06F8/71 分类号: G06F8/71
代理公司: 北京君尚知识产权代理有限公司 11200 代理人: 陈艳
地址: 100190 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 git 代码 生命周期 追溯 方法 电子 装置
【说明书】:

发明公开了一种基于Git的代码行生命周期追溯方法及电子装置,其提取Git仓库中的每一个commit的信息;根据commit的ID及相应父commit的ID,建立commit组成的有向无环图,按广度优先顺序遍历该有向无环图,依据commit的代码变更内容,跟踪提取并记录代码文件行的变更历史信息;对于一个commit中的一个文件的一行待查询代码,依据代码文件行的变更历史信息记录,得到该行待查询代码的产生、位移或消亡的commit的信息。本发明追溯了行粒度的代码生命周期数据,包括代码行的产生点、位移点、消亡点;能够追溯到代码行在多个分支上的完整变更历史;给定任意commit快照中的任意文件的任意行都能直接返回其全部生命周期数据。

技术领域

本发明涉及软件代码变更历史追溯领域,尤其涉及一种基于Git的代码行生命周期追溯方法及电子装置。

背景技术

版本控制是软件开发中的一种重要实践方法,软件项目使用版本控制系统记录软件代码变更的历史,包括每一次变更的开发者、时间、代码变更的内容。

Git是当前最流行的版本控制系统,Git中使用了commit来记录每一次的代码变更,每个commit有一个唯一的ID,commit之间有父子关系,表示commit的逻辑先后顺序,这些父子关系将一个版本库中的commit连接成为一张有向无环图。

Git中代码变更的内容的格式与Linux系统中diff工具的unified format相同。

Git等版本控制系统在记录代码变更时,以commit为基本单元追溯代码的变更历史,commit中又包含了变更的代码文件和文件中变更的行,当开发者或者研究者想要对代码行的生命周期,即一行代码从在代码库中出现到消失的历程开展研究时,无法直接获取相关数据,即无法获取Git版本库中代码行生命周期数据。

发明内容

为解决上述问题,本发明提供一种基于Git的代码行生命周期追溯方法及电子装置,通过遍历Git中的commit并跟踪提取代码文件行的变更历史信息,给出代码文件中每一行的产生、位移和消亡点。

本发明的技术内容包括:

一种基于Git的代码行生命周期追溯方法,其步骤包括:

1)提取Git仓库中的每一个commit的信息,其中所述commit的信息包括:commit的ID、相应父commit的ID、commit的作者、commit的时间、commit的描述和commit的代码变更内容;

2)根据commit的ID及相应父commit的ID,建立commit组成的有向无环图,按广度优先顺序遍历该有向无环图,依据commit的代码变更内容,跟踪提取并记录代码文件行的变更历史信息,其中所述代码文件行的变更历史信息包括:

a)文件,包含一个或多个该文件被创建的commit;

b)文件被创建的commit,包含零个或多个行;

c)行,包含一个或多个行发生位移时的commit;

d)行发生位移时的commit,包含上一次位移时的commit的ID和位移后的行号;

3)对于一个commit中的一个文件的一行待查询代码,依据代码文件行的变更历史信息记录,得到该行待查询代码的产生、位移或消亡的commit的信息,其中所述该行待查询代码的产生、位移或消亡的commit的信息包括:commit的ID、commit的作者、commit的时间和commit的描述。

进一步地,使用Git命令:git log--pretty=format:%H;%P;%an;%ae;%at;%s;%b,获取commit的ID及相应父commit的ID、commit的作者、commit的时间和commit的描述。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110013631.7/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top