[发明专利]一种源代码库更新方法及装置有效
申请号: | 201810011788.4 | 申请日: | 2018-01-05 |
公开(公告)号: | CN108334333B | 公开(公告)日: | 2021-07-23 |
发明(设计)人: | 黄诚;张文明;陈少杰 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F8/71 | 分类号: | G06F8/71 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;吴欢燕 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 源代码 更新 方法 装置 | ||
1.一种源代码库更新方法,其特征在于,包括:
步骤S1,根据预先生成的配置文件中的预设阈值,获取目标源代码库的目录中深度小于或等于所述预设阈值的各目录项;其中,所述目录根据所述目标 源代码库中文件夹和文件的名称,以及文件夹之间,文件夹和文件之间的包含关系生成;
步骤S2,根据各所述目录项的名称中的后缀,获取各所述目录项的类型,具体包括:
步骤S21,在预先创建的各线程中,使用listdir函数枚举各所述线程被分配的各所述目录项;
步骤S22,根据各所述目录项的名称中的后缀,判断各所述目录项的类型是否为预设类型;
其中,所述步骤S21之前包括:
获取运行线程的计算机上逻辑CPU的个数;
将所述个数乘以预设常数,获取最大线程个数;
将1到所述最大线程个数中的任一整数作为所述线程的个数,创建所述线程;
步骤S3,执行各所述目录项的类型对应的命令,对各所述目录项对应的目标源代码库进行更新;其中,所述类型与所述命令预先关联存储。
2.根据权利要求1所述的方法,其特征在于,所述步骤S1之前还包括:
根据用户的输入或目标源代码库的文档结构,获取目标源代码库的目录;
根据所述目标源代码库的目录和所述预设阈值,生成JSON格式的配置文件。
3.根据权利要求1或2所述的方法,其特征在于,所述步骤S22具体包括:
若各所述目录项的名称后缀为.svn,则获知所述目录项为SVN源代码管理工具的目录项;或者,
若各所述目录项的名称后缀为.git,则获知所述目录项为git源代码管理工具的目录项;或者,
若各所述目录项的名称后缀为.hg,则获知所述目录项为Mercurial源代码管理工具的目录项。
4.根据权利要求1或2所述的方法,其特征在于,所述步骤S3之后还包括:
将所述目标源代码库的更新信息存放到日志缓存中,所述更新信息包括更新时间、更新的所述目标源代码库的目录项和更新结果。
5.一种源代码库更新装置,其特征在于,包括:
第一获取单元,用于根据预先生成的配置文件中的预设阈值,获取目标源代码库的目录中深度小于或等于所述预设阈值的各目录项;其中,所述目录根据所述目标 源代码库中文件夹和文件的名称,以及文件夹之间,文件夹和文件之间的包含关系生成;
第二获取单元,用于根据各所述目录项的名称的后缀,获取各所述目录项的类型,具体包括:在预先创建的各线程中,使用listdir函数枚举各所述线程被分配的各所述目录项,根据各所述目录项的名称中的后缀,判断各所述目录项的类型是否为预设类型,其中线程来自之前获取运行线程的计算机上逻辑CPU的个数,将所述个数乘以预设常数,获取最大线程个数,将1到所述最大线程个数中的任一整数作为所述线程的个数,创建所述线程;
执行单元,用于执行各所述目录项的类型对应的命令,对各所述目录项对应的源代码库进行更新,所述类型与所述命令预先关联存储。
6.据权利要求5所述的装置,其特征在于,还包括生成单元,用于:
根据用户的输入或源代码库的文档结构,获取所述目标源代码库的目录;
根据所述目标源代码库的目录和所述预设阈值,生成JSON格式的配置文件。
7.一种源代码库更新设备,其特征在于,包括:
至少一个处理器、至少一个存储器和总线;其中,
所述处理器和存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至4任一所述的方法。
8.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使计算机执行如权利要求1至4任一所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810011788.4/1.html,转载请声明来源钻瓜专利网。