本申请涉及计算机,尤其涉及一种二进制项目文件的版本控制方法、装置、存储介质及设备。
背景技术:
1、在计算机软件开发项目中,为了能够多人协作完成项目,常常会用到版本控制软件对项目进行管理,常用的软件包括git,svn等版本控制工具。但是由于iec 61131-3标准是面向plc的编程语言,而plc编程项目在以前一般是由单人开发,项目相对较小,对代码的版本控制并没有太高要求,需要做版本控制时,工程师更多的是选择拷贝一份工程,修改项目名称作为备份。随着机器人、信息化与传统制造业的深度融合,对plc的编程变得愈加繁复,对多人协作开发的需求也随之提高。
2、但对于市面上基于iec 61131-3标准的集成开发环境,特别是依赖单个二进制项目文件记录项目信息的集成开发环境,由于二进制文件的限制,难以使用版本控制软件进行版本控制。
技术实现思路
1、本申请实施例提供了一种二进制项目文件的版本控制方法、装置、存储介质及设备,能够实现对二进制项目文件进行分布式版本控制,提高项目开发效率。
2、第一方面,本申请提供了一种二进制项目文件的版本控制方法,所述方法包括:
3、通过ide版本控制插件获取二进制项目文件;
4、对二进制项目文件进行对象解析,根据预定义的关键参数将所述二进制项目文件中各对象的关键参数转换为目标文本格式,以生成所述二进制项目文件的描述文本;
5、将所述二进制项目文件的描述文本存储至本地仓库;
6、将所述二进制项目文件的描述文本上存至远程仓库;
7、响应于项目拉取指令,从所述远程仓库下拉最新版本二进制项目文件的描述文本并存储至所述本地仓库;
8、响应于版本更新指令,根据修改版本的描述文本存储至所述本地仓库的暂存区;
9、响应于版本提交指令,将所述暂存区中存储所述修改版本的描述文本提交至所述远程仓库。
10、在其中一个实施例中,所述将所述二进制项目文件的描述文本存储至本地仓库,包括:
11、分别对所述项目文件中的每个对象在所述本地仓库中建立树节点;
12、分别以每个对象的对象属性的内容建立块对象,以存储所述项目文件的描述文本。
13、在其中一个实施例中,所述树节点根据每个对象的对象名称、对象类型或对象属性建立。
14、在其中一个实施例中,所述响应于版本更新指令,根据修改版本的描述文本存储至所述本地仓库的暂存区,包括:
15、响应于所述版本更新指令,禁用二进制项目文件跟踪,并根据所述版本更新指令确定目标跟踪对象;
16、获取所述目标跟踪对象的修改版本描述文本;
17、根据所述修改版本描述文本的对象属性的内容建立新的块对象;
18、将所述新的块对象增加至所述目标跟踪对象的树节点下进行暂存。
19、在其中一个实施例中,所述响应于版本更新指令,根据修改版本的描述文本存储至所述本地仓库的暂存区,包括:
20、响应于所述版本更新指令,对所述二进制项目文件进行跟踪;
21、在识别到所述二进制项目文件发生修改时,对修改版本的二进制项目文件进行解析,根据预定义的关键参数将修改版本的二进制项目文件中各对象的关键参数转换为目标文本格式,以生成修改版本的描述文本;
22、将所述修改版本的描述文本存储至所述本地仓库的暂存区。
23、在其中一个实施例中,所述方法还包括:
24、若接收到冲突反馈,根据所述冲突反馈获取发生冲突的两个冲突版本分别对应的描述文本;
25、分别根据两个冲突版本对应的描述文本获取冲突部分的源代码;
26、根据冲突部分的源代码生成冲突提示并在显示界面进行显示。
27、在其中一个实施例中,所述目标文本格式为xml格式或json格式。
28、第二方面,本申请提供了一种二进制项目文件的版本控制装置,包括:
29、获取模块,用于通过ide版本控制插件获取二进制项目文件;
30、解析模块,用于对二进制项目文件进行对象解析,根据预定义的关键参数将所述二进制项目文件中各对象的关键参数转换为目标文本格式,以生成所述二进制项目文件的描述文本;
31、存储模块,用于将所述二进制项目文件的描述文本存储至本地仓库;
32、上存模块,用于将所述二进制项目文件的描述文本上存至远程仓库;
33、版本下拉模块,用于响应于项目拉取指令,从所述远程仓库下拉最新版本二进制项目文件的描述文本并存储至所述本地仓库;
34、暂存模块,用于响应于版本更新指令,根据修改版本的描述文本存储至所述本地仓库的暂存区;
35、提交模块,用于响应于版本提交指令,将所述暂存区中存储所述修改版本的描述文本提交至所述远程仓库。
36、第三方面,本申请提供了一种存储介质,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述任一实施例所述的二进制项目文件的版本控制方法的步骤。
37、第四方面,本申请提供了一种计算机设备,包括:一个或多个处理器,以及存储器;
38、所述存储器中存储有计算机可读指令,所述一个或多个处理器执行时所述计算机可读指令时,执行如上述任一实施例所述的二进制项目文件的版本控制方法的步骤。
39、从以上技术方案可以看出,本申请实施例具有以下优点:
40、本申请提供的二进制项目文件的版本控制方法、装置、存储介质及设备,通过git系统中安装的ide版本控制插件获取二进制项目文件,对二进制项目文件进行对象解析,将二进制文件中各对象的关键参数转换为目标文本格式,以将二进制项目文件转换为描述文本并存储至本地仓库,后上传至远程仓库进行保存,在需要进行版本控制时,从远程仓库拉取最新版本的描述文件至本地仓库,对描述文本进行版本修改,能够利用git系统对plc项目进行版本控制,并且能够减小在进行版本控制过程中的存储量,提高存储效率。
1.一种二进制项目文件的版本控制方法,其特征在于,所述方法包括:
2.根据权利要求1所述的二进制项目文件的版本控制方法,其特征在于,所述将所述二进制项目文件的描述文本存储至本地仓库,包括:
3.根据权利要求2所述的二进制项目文件的版本控制方法,其特征在于,所述树节点根据每个对象的对象名称、对象类型或对象属性建立。
4.根据权利要求2所述的二进制项目文件的版本控制方法,其特征在于,所述响应于版本更新指令,根据修改版本的描述文本存储至所述本地仓库的暂存区,包括:
5.根据权利要求1所述的二进制项目文件的版本控制方法,其特征在于,所述响应于版本更新指令,根据修改版本的描述文本存储至所述本地仓库的暂存区,包括:
6.根据权利要求1至5任一项所述的二进制项目文件的版本控制方法,其特征在于,所述方法还包括:
7.根据权利要求1所述的二进制项目文件的版本控制方法,其特征在于,所述目标文本格式为xml格式或json格式。
8.一种二进制项目文件的版本控制装置,其特征在于,包括:
9.一种存储介质,其特征在于:所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项所述的二进制项目文件的版本控制方法的步骤。
10.一种计算机设备,其特征在于,包括:一个或多个处理器,以及存储器;