二进制项目文件的版本控制方法技术

技术编号:39409816 阅读:13 留言:0更新日期:2023-11-19 16:01
本申请提供了一种二进制项目文件的版本控制方法

【技术实现步骤摘要】
二进制项目文件的版本控制方法、装置、存储介质及设备


[0001]本申请涉及计算机
,尤其涉及一种二进制项目文件的版本控制方法

装置

存储介质及设备


技术介绍

[0002]在计算机软件开发项目中,为了能够多人协作完成项目,常常会用到版本控制软件对项目进行管理,常用的软件包括
Git

SVN
等版本控制工具

但是由于
IEC 61131
‑3标准是面向
PLC
的编程语言,而
PLC
编程项目在以前一般是由单人开发,项目相对较小,对代码的版本控制并没有太高要求,需要做版本控制时,工程师更多的是选择拷贝一份工程,修改项目名称作为备份

随着机器人

信息化与传统制造业的深度融合,对
PLC
的编程变得愈加繁复,对多人协作开发的需求也随之提高

[0003]但对于市面上基于
IEC 61131
‑3标准的集成开发环境,特别是依赖单个二进制项目文件记录项目信息的集成开发环境,由于二进制文件的限制,难以使用版本控制软件进行版本控制


技术实现思路

[0004]本申请实施例提供了一种二进制项目文件的版本控制方法

装置

存储介质及设备,能够实现对二进制项目文件进行分布式版本控制,提高项目开发效率

[0005]第一方面,本申请提供了一种二进制项目文件的版本控制方法,所述方法包括:
[0006]通过
IDE
版本控制插件获取二进制项目文件;
[0007]对二进制项目文件进行对象解析,根据预定义的关键参数将所述二进制项目文件中各对象的关键参数转换为目标文本格式,以生成所述二进制项目文件的描述文本;
[0008]将所述二进制项目文件的描述文本存储至本地仓库;
[0009]将所述二进制项目文件的描述文本上存至远程仓库;
[0010]响应于项目拉取指令,从所述远程仓库下拉最新版本二进制项目文件的描述文本并存储至所述本地仓库;
[0011]响应于版本更新指令,根据修改版本的描述文本存储至所述本地仓库的暂存区;
[0012]响应于版本提交指令,将所述暂存区中存储所述修改版本的描述文本提交至所述远程仓库

[0013]在其中一个实施例中,所述将所述二进制项目文件的描述文本存储至本地仓库,包括:
[0014]分别对所述项目文件中的每个对象在所述本地仓库中建立树节点;
[0015]分别以每个对象的对象属性的内容建立块对象,以存储所述项目文件的描述文本

[0016]在其中一个实施例中,所述树节点根据每个对象的对象名称

对象类型或对象属性建立

[0017]在其中一个实施例中,所述响应于版本更新指令,根据修改版本的描述文本存储至所述本地仓库的暂存区,包括:
[0018]响应于所述版本更新指令,禁用二进制项目文件跟踪,并根据所述版本更新指令确定目标跟踪对象;
[0019]获取所述目标跟踪对象的修改版本描述文本;
[0020]根据所述修改版本描述文本的对象属性的内容建立新的块对象;
[0021]将所述新的块对象增加至所述目标跟踪对象的树节点下进行暂存

[0022]在其中一个实施例中,所述响应于版本更新指令,根据修改版本的描述文本存储至所述本地仓库的暂存区,包括:
[0023]响应于所述版本更新指令,对所述二进制项目文件进行跟踪;
[0024]在识别到所述二进制项目文件发生修改时,对修改版本的二进制项目文件进行解析,根据预定义的关键参数将修改版本的二进制项目文件中各对象的关键参数转换为目标文本格式,以生成修改版本的描述文本;
[0025]将所述修改版本的描述文本存储至所述本地仓库的暂存区

[0026]在其中一个实施例中,所述方法还包括:
[0027]若接收到冲突反馈,根据所述冲突反馈获取发生冲突的两个冲突版本分别对应的描述文本;
[0028]分别根据两个冲突版本对应的描述文本获取冲突部分的源代码;
[0029]根据冲突部分的源代码生成冲突提示并在显示界面进行显示

[0030]在其中一个实施例中,所述目标文本格式为
XML
格式或
JSON
格式

[0031]第二方面,本申请提供了一种二进制项目文件的版本控制装置,包括:
[0032]获取模块,用于通过
IDE
版本控制插件获取二进制项目文件;
[0033]解析模块,用于对二进制项目文件进行对象解析,根据预定义的关键参数将所述二进制项目文件中各对象的关键参数转换为目标文本格式,以生成所述二进制项目文件的描述文本;
[0034]存储模块,用于将所述二进制项目文件的描述文本存储至本地仓库;
[0035]上存模块,用于将所述二进制项目文件的描述文本上存至远程仓库;
[0036]版本下拉模块,用于响应于项目拉取指令,从所述远程仓库下拉最新版本二进制项目文件的描述文本并存储至所述本地仓库;
[0037]暂存模块,用于响应于版本更新指令,根据修改版本的描述文本存储至所述本地仓库的暂存区;
[0038]提交模块,用于响应于版本提交指令,将所述暂存区中存储所述修改版本的描述文本提交至所述远程仓库

[0039]第三方面,本申请提供了一种存储介质,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述任一实施例所述的二进制项目文件的版本控制方法的步骤

[0040]第四方面,本申请提供了一种计算机设备,包括:一个或多个处理器,以及存储器;
[0041]所述存储器中存储有计算机可读指令,所述一个或多个处理器执行时所述计算机可读指令时,执行如上述任一实施例所述的二进制项目文件的版本控制方法的步骤

[0042]从以上技术方案可以看出,本申请实施例具有以下优点:
[0043]本申请提供的二进制项目文件的版本控制方法

装置

存储介质及设备,通过
Git
系统中安装的
IDE
版本控制插件获取二进制项目文件,对二进制项目文件进行对象解析,将二进制文件中各对象的关键参数转换为目标文本格式,以将二进制项目文件转换为描述文本并存储至本地仓库,后上传至远程仓库进行保存,在需要进行版本控制时,从远程仓库拉取最新版本的描述文件至本地仓库,对描述文本进行版本修改,能够利用
Git
系统对
PLC
项目进行版本控制,并本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种二进制项目文件的版本控制方法,其特征在于,所述方法包括:通过
IDE
版本控制插件获取二进制项目文件;对二进制项目文件进行对象解析,根据预定义的关键参数将所述二进制项目文件中各对象的关键参数转换为目标文本格式,以生成所述二进制项目文件的描述文本;将所述二进制项目文件的描述文本存储至本地仓库;将所述二进制项目文件的描述文本上存至远程仓库;响应于项目拉取指令,从所述远程仓库下拉最新版本二进制项目文件的描述文本并存储至所述本地仓库;响应于版本更新指令,根据修改版本的描述文本存储至所述本地仓库的暂存区;响应于版本提交指令,将所述暂存区中存储所述修改版本的描述文本提交至所述远程仓库
。2.
根据权利要求1所述的二进制项目文件的版本控制方法,其特征在于,所述将所述二进制项目文件的描述文本存储至本地仓库,包括:分别对所述项目文件中的每个对象在所述本地仓库中建立树节点;分别以每个对象的对象属性的内容建立块对象,以存储所述项目文件的描述文本
。3.
根据权利要求2所述的二进制项目文件的版本控制方法,其特征在于,所述树节点根据每个对象的对象名称

对象类型或对象属性建立
。4.
根据权利要求2所述的二进制项目文件的版本控制方法,其特征在于,所述响应于版本更新指令,根据修改版本的描述文本存储至所述本地仓库的暂存区,包括:响应于所述版本更新指令,禁用二进制项目文件跟踪,并根据所述版本更新指令确定目标跟踪对象;获取所述目标跟踪对象的修改版本描述文本;根据所述修改版本描述文本的对象属性的内容建立新的块对象;将所述新的块对象增加至所述目标跟踪对象的树节点下进行暂存
。5.
根据权利要求1所述的二进制项目文件的版本控制方法,其特征在于,所述响应于版本更新指令,根据修改版本的描述文本存储至所述本地仓库的暂存区,包括:响应于所述版本更新指令,对所述二进制项目文件进行跟踪;在识别到所述二进制项目文件发生修改时,对修改版本的二进制项目文件进行解析,根据预定义的关键参数将修改版本的二进制项目文件中各对象的关键...

【专利技术属性】
技术研发人员:郭柏成苏开祥李延法
申请(专利权)人:广东科伺智能科技有限公司
类型:发明
国别省市:

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

1