基于Hook机制的代码仓库合入控制方法、装置、系统与计算机可读介质制造方法及图纸

技术编号:38368631 阅读:7 留言:0更新日期:2023-08-05 17:33
本发明专利技术提供一种基于Hook机制的代码仓库合入控制方法、装置、系统与计算机可读介质,该合入控制方法利用SVN、Git等仓库管理软件的Hook机制,在用户提交资源/代码时可自动化对非法提交的资源/代码就进行检查和阻拦,通过检查每次提交的信息、预定的提交规则限制,精确控制每次提交的合法性,实现合入控制的准确性,减少后续人工处理和消耗。由此,通过本发明专利技术的基于Hook机制的代码仓库合入控制方法,在分支资源提交管理上,可以有效的提高权限控制,提高分支资源的稳定性和准确率。提高分支资源的稳定性和准确率。提高分支资源的稳定性和准确率。

【技术实现步骤摘要】
基于Hook机制的代码仓库合入控制方法、装置、系统与计算机可读介质


[0001]本专利技术涉及代码合入控制
,具体而言涉及一种基于Hook机制的代码仓库合入控制方法与系统。

技术介绍

[0002]在软件工程中,大规模团队协作带来的沟通和管理成本呈指数级上升,随着人数的增加,团队提交资源/代码时出现错误的概率也更高,而且在资源/代码出错后带来影响也更多,重复检查、反复核对耗费大量的人力物力,给开发工作造成巨大的延迟和消耗。
[0003]现有技术中对代码、资源的提交合入控制主要是通过成员权限控制、目录权限控制方式实现,但其存在以下问题:
[0004]对于成员权限控制来说,SVN仓库通过不断调整成员的目录权限,来进行权限控制,操作成本高,及时性较差,而且在过程中需要人工来判断需求是否可以提交,提高了沟通和协作成本,且可靠性低。此外,Git仓库的成员权限控制制定仅仅精确到仓库级别,对目录级别无法做到权限控制。对于目录权限控制来说,即使是软件开发中的P4岗位可以做到目录权限和成员组控制,也无法做到判断需求是否允许合入这个级别。

技术实现思路

[0005]本专利技术目的旨在提高软件开发过程中团队成员提交资源/代码合入的的可靠性,提出一种基于Hook机制的代码仓库合入控制方法与系统,利用SVN、Git等仓库管理软件的Hook机制,在团队成员提交资源/代码时,通过检查每次提交的信息,通过预定的提交规则限制,精确控制每次提交的合法性。
[0006]为实现上述目的,本专利技术的第一方面提出一种基于Hook机制的代码仓库合入控制方法,包括以下步骤:
[0007]接收用户提交的资源/代码数据;
[0008]触发预先配置的资源管理仓库软件的触发器脚本;
[0009]执行上述触发器脚本,并顺序执行:
[0010]分支控制检查;
[0011]提交人规范检查;
[0012]工具账号提交检查;
[0013]权限限制开关检查;
[0014]用户提交权限检查;
[0015]用户目录权限检查;
[0016]迭代检测开关检查;
[0017]忽略规则检查;
[0018]源码关键字检查;
[0019]需求关联迭代检查;
[0020]文件目录忽略检查;
[0021]需求/缺陷/任务合入状态检查;
[0022]迭代状态检查;以及
[0023]迭代信息检查;
[0024]其中:
[0025]对于满足预设条件的检查,返回检查通过,并允许合入;
[0026]对于不满足预设条件的检查,返回检查不通过,不允许合入。
[0027]根据本专利技术目的的第二方面,还提出一种基于Hook机制的代码仓库合入控制装置,所述控制装置包括:
[0028]用于接收用户提交的资源/代码数据的数据接收模块;
[0029]触发预先配置的资源管理仓库软件的触发器脚本的触发模块;
[0030]执行上述触发器脚本,并顺序执行检查的合入检查模块;以及
[0031]结果返回模块,被设置成:对于满足预设条件的检查,返回检查通过,并允许合入;
[0032]对于不满足预设条件的检查,返回检查不通过,不允许合入;
[0033]其中,所述的检查包括:
[0034]分支控制检查;
[0035]提交人规范检查;
[0036]工具账号提交检查;
[0037]权限限制开关检查;
[0038]用户提交权限检查;
[0039]用户目录权限检查;
[0040]迭代检测开关检查;
[0041]忽略规则检查;
[0042]源码关键字检查;
[0043]需求关联迭代检查;
[0044]文件目录忽略检查;
[0045]需求/缺陷/任务合入状态检查;
[0046]迭代状态检查;以及
[0047]迭代信息检查。
[0048]根据本专利技术目的的第三方面,还提出一种基于Hook机制的代码仓库合入控制系统,该控制系统包括:
[0049]一个或多个处理器;
[0050]存储器,存储可被操作的指令,所述指令在通过所述一个或多个处理器执行时使得所述一个或多个处理器执行操作,所述操作包括前述的基于Hook机制的代码仓库合入控制方法的流程。
[0051]根据本专利技术目的的第四方面,还提出一种存储软件的计算机可读介质,所述软件包括能通过一个或多个计算机执行的指令,所述指令通过这样的执行使得所述一个或多个计算机执行操作,所述操作包括前述的基于Hook机制的代码仓库合入控制方法的流程。
[0052]由于分支管理工具Git和SVN天然存在管理权限控制不足,由此通过本专利技术提出的基于Hook机制的代码仓库合入控制方法,利用SVN、Git等仓库管理软件的Hook机制,在团队成员提交资源/代码时,可自动化对非法提交的资源/代码就进行检查和阻拦,通过检查每次提交的信息、预定的提交规则限制,精确控制每次提交的合法性,实现合入控制的准确性,减少后续人工处理和消耗。应当理解,前述的非法提交包含且不限于无对应分支权限、文件权限、无对应版本提交任务单、非法配置等。
[0053]由此,通过本专利技术的基于Hook机制的代码仓库合入控制方法,在分支资源提交管理上,可以有效的提高权限控制,提高分支资源的稳定性和准确率。
[0054]应当理解,前述构思以及在下面更加详细地描述的额外构思的所有组合只要在这样的构思不相互矛盾的情况下都可以被视为本公开的专利技术主题的一部分。另外,所要求保护的主题的所有组合都被视为本公开的专利技术主题的一部分。
[0055]结合附图从下面的描述中可以更加全面地理解本专利技术教导的前述和其他方面、实施例和特征。本专利技术的其他附加方面例如示例性实施方式的特征和/或有益效果将在下面的描述中显见,或通过根据本专利技术教导的具体实施方式的实践中得知。
附图说明
[0056]附图不意在按比例绘制。在附图中,在各个图中示出的每个相同或近似相同的组成部分可以用相同的标号表示。为了清晰起见,在每个图中,并非每个组成部分均被标记。现在,将通过例子并参考附图来描述本专利技术的各个方面的实施例。
[0057]图1是本专利技术实施例的基于Hook机制的代码仓库合入控制方法的流程图;
[0058]图2是图1实施例合入控制方法的一个具体实现示例的流程图。
[0059]图3是是本专利技术实施例的基于Hook机制的代码仓库合入控制装置的原理框图。
具体实施方式
[0060]为了更了解本专利技术的
技术实现思路
,特举具体实施例并配合所附图式说明如下。
[0061]在本公开中参照附图来描述本专利技术的各方面,附图中示出了许多说明的实施例。本公开的实施例不必定意在包括本专利技术的所有方面。应当理解,上面介绍的多种构思和实施例,以及下面更加详细地描述的那些构思和实施方式可以以很多方式中任意一种来实施,这是因为本专利技术所公本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Hook机制的代码仓库合入控制方法,其特征在于,包括以下步骤:接收用户提交的资源/代码数据;触发预先配置的资源管理仓库软件的触发器脚本;执行上述触发器脚本,并顺序执行:分支控制检查;提交人规范检查;工具账号提交检查;权限限制开关检查;用户提交权限检查;用户目录权限检查;迭代检测开关检查;忽略规则检查;源码关键字检查;需求关联迭代检查;文件目录忽略检查;需求/缺陷/任务合入状态检查;迭代状态检查;以及迭代信息检查;其中:对于满足预设条件的检查,返回检查通过,并允许合入;对于不满足预设条件的检查,返回检查不通过,不允许合入。2.根据权利要求1所述的基于Hook机制的代码仓库合入控制方法,其特征在于,在所述分支控制检查、工具账号提交检查、迭代检测开关检查、迭代检测开关检查、忽略规则检查以及文件目录忽略检查执行过程中,对于满足预设条件的检查,返回检查通过;否则执行对应的下一步检查处理。3.根据权利要求1所述的基于Hook机制的代码仓库合入控制方法,其特征在于,在所述提交人规范检查的执行过程中,判断提交人的信息是否符合预设规范,如果符合预设规范则通知预先配置的警告人,由警告人推动更正,并在更正后进入下一步的工具账号提交检查。4.根据权利要求1所述的基于Hook机制的代码仓库合入控制方法,其特征在于,在所述迭代信息检查的执行过程中,对于满足预设条件的检查,返回检查通过;否则返回检查不通过。5.根据权利要求1所述的基于Hook机制的代码仓库合入控制方法,其特征在于,在用户提交权限检查、用户目录权限检查、源码关键字检查、需求关联迭代检查、需求/缺陷/任务合入状态检查、迭代状态检查执行过程中,对于不满足预设条件的检查,返回不检查通过;否则执行对应的下一步检查处理。6.根据权利要求1

5中任意一项所述的基于Hook机制的代码仓库合入控制方法,其特征在于,所述顺序执行的检查中:分支控制检查,是指判断用户提交的合入分支是否是需要进行合入控制的分支;
提交人规范检查,是指判断提交人的信息是否符合预设规范;工具账号提交检查,是指判断提交人的用户账户是否是工具账号;权限限制开关检查,是指检查权限控制开关是否是开启状态;用户提交权限检查,是指检查提交人的用户账户是否具有对合入控制分支的提交权限;用户目录权限检查,是指检查提交人的用户账户是否具有对提交目录的提交权限;迭代检测开关检查,是指检查迭代检测开关是否是开启状态;忽略规则检查,是指检查提交人的用户账户是否符合忽略规则;源码关键字检查,是指检查提交资源/代码中是否包含源码关键字;需求关联迭代检查,是指检查需求是否关联到迭代;文件目录忽略检查,是指检查提交的所有文件的目录是否符合预设规则的忽略的目录;需求/缺陷/任务合入状态检查,是指检查需求/缺陷/任务合入...

【专利技术属性】
技术研发人员:邹圣钟诚刘炫
申请(专利权)人:欢乐互娱上海科技股份有限公司
类型:发明
国别省市:

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

1