CN117055947A - Version control method and device of binary project file, storage medium and equipment - Google Patents

Version control method and device of binary project file, storage medium and equipment Download PDF

Info

Publication number
CN117055947A
CN117055947A CN202311041006.9A CN202311041006A CN117055947A CN 117055947 A CN117055947 A CN 117055947A CN 202311041006 A CN202311041006 A CN 202311041006A CN 117055947 A CN117055947 A CN 117055947A
Authority
CN
China
Prior art keywords
version
binary
description text
file
project file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311041006.9A
Other languages
Chinese (zh)
Inventor
郭柏成
苏开祥
李延法
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Keyao Intelligent Technology Co ltd
Original Assignee
Guangdong Keyao Intelligent Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Keyao Intelligent Technology Co ltd filed Critical Guangdong Keyao Intelligent Technology Co ltd
Priority to CN202311041006.9A priority Critical patent/CN117055947A/en
Publication of CN117055947A publication Critical patent/CN117055947A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The application provides a version control method, device, storage medium and equipment of a binary project file. The method comprises the following steps: acquiring a binary project file from a Git system; object analysis is carried out on the binary item file, and key parameters of all objects in the binary item file are converted into a target text format according to predefined key parameters so as to generate a description text of the binary item file; storing the description text of the binary item file to a local warehouse and uploading the description text to a remote warehouse; in response to the item pulling instruction, pulling down the description text of the binary item file of the latest version from the remote warehouse and storing the description text into the local warehouse; responding to the version updating instruction, and storing the description text according to the modified version into a temporary storage area of a local warehouse; in response to the version commit instruction, the description text of the modified version stored in the scratch pad is committed to the remote repository. The application can realize the version control of the binary project file in the Git system.

Description

Version control method and device of binary project file, storage medium and equipment
Technical Field
The present application relates to the field of computer technologies, and in particular, to a method, an apparatus, a storage medium, and a device for controlling a version of a binary project file.
Background
In the development of computer software, in order to enable multiple persons to cooperate to complete the project, version control software is often used to manage the project, and common software includes the version control tools such as Git, SVN and the like. However, since the IEC 61131-3 standard is a programming language oriented to the PLC, the PLC programming project is usually developed by a single person in the past, the project is relatively small, and the version control of the code is not required too much, and when the version control is needed, engineers more choose to copy one project and modify the project name as a backup. With the deep integration of robots, informatization and traditional manufacturing industry, programming of PLCs becomes increasingly complex, and the demand for collaborative development of multiple persons is also increased.
However, for the integrated development environment based on the IEC 61131-3 standard on the market, especially the integrated development environment which relies on a single binary project file to record project information, version control software is difficult to use due to the limitation of the binary file.
Disclosure of Invention
The embodiment of the application provides a version control method, a device, a storage medium and equipment for binary project files, which can realize distributed version control of the binary project files and improve project development efficiency.
In a first aspect, the present application provides a method for controlling a version of a binary item file, the method comprising:
acquiring a binary project file through an IDE version control plug-in;
object analysis is carried out on the binary project file, and key parameters of all objects in the binary project file are converted into a target text format according to predefined key parameters so as to generate a description text of the binary project file;
storing the description text of the binary item file to a local warehouse;
uploading the description text of the binary item file to a remote warehouse;
in response to an item pulling instruction, pulling down description text of the binary item file of the latest version from the remote warehouse and storing the description text into the local warehouse;
responding to a version updating instruction, and storing the description text according to the modified version into a temporary storage area of the local warehouse;
and responding to a version submitting instruction, and submitting the descriptive text stored in the temporary storage area for the modified version to the remote warehouse.
In one embodiment, the storing the description text of the binary item file in a local repository includes:
establishing tree nodes in the local warehouse for each object in the project file respectively;
block objects are built with the contents of the object attributes of each object, respectively, to store descriptive text of the project file.
In one embodiment, the tree nodes are built based on the object name, object type, or object attribute of each object.
In one embodiment, the responding to the version update instruction, according to the description text of the modified version, storing the description text in the temporary storage area of the local warehouse comprises:
in response to the version updating instruction, binary project file tracking is disabled, and a target tracking object is determined according to the version updating instruction;
acquiring a modified version description text of the target tracking object;
establishing a new block object according to the content of the object attribute of the modified version description text;
and adding the new block object to the position below the tree node of the target tracking object for temporary storage.
In one embodiment, the responding to the version update instruction, according to the description text of the modified version, storing the description text in the temporary storage area of the local warehouse comprises:
responsive to the version update instruction, tracking the binary project file;
when the binary project file is identified to be modified, the binary project file of a modified version is analyzed, and key parameters of all objects in the binary project file of the modified version are converted into a target text format according to predefined key parameters so as to generate a description text of the modified version;
and storing the description text of the modified version into a temporary storage area of the local warehouse.
In one embodiment, the method further comprises:
if conflict feedback is received, acquiring description texts corresponding to the two conflict versions which conflict according to the conflict feedback;
acquiring source codes of conflict parts according to description texts corresponding to the two conflict versions respectively;
and generating a conflict prompt according to the source code of the conflict part and displaying the conflict prompt on a display interface.
In one embodiment, the target text format is an XML format or JSON format.
In a second aspect, the present application provides a version control device for a binary item file, including:
the acquisition module is used for acquiring the binary project file through the IDE version control plug-in;
the analysis module is used for carrying out object analysis on the binary project file, and converting the key parameters of each object in the binary project file into a target text format according to the predefined key parameters so as to generate a description text of the binary project file;
the storage module is used for storing the description text of the binary project file to a local warehouse;
the uploading module is used for uploading the description text of the binary project file to a remote warehouse;
the version pull-down module is used for responding to the item pull instruction, pulling down the description text of the binary item file of the latest version from the remote warehouse and storing the description text into the local warehouse;
the temporary storage module is used for responding to the version updating instruction and storing the version updating instruction into a temporary storage area of the local warehouse according to the description text of the modified version;
and the submitting module is used for responding to a version submitting instruction and submitting the description text of the modified version stored in the temporary storage area to the remote warehouse.
In a third aspect, the present application provides a storage medium having stored therein computer readable instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of the method for version control of a binary item file as described in any of the embodiments above.
In a fourth aspect, the present application provides a computer device comprising: one or more processors, and memory;
the memory has stored therein computer readable instructions which, when executed by the one or more processors, perform the steps of the method for version control of binary item files as described in any of the embodiments above.
From the above technical solutions, the embodiment of the present application has the following advantages:
according to the version control method, the device, the storage medium and the equipment for the binary project file, the binary project file is obtained through the IDE version control plug-in installed in the Git system, object analysis is carried out on the binary project file, key parameters of all objects in the binary project file are converted into a target text format, the binary project file is converted into a description text and stored in a local warehouse, the description text is uploaded to a remote warehouse for storage, when version control is needed, the description file of the latest version is pulled from the remote warehouse to the local warehouse, version modification is carried out on the description text, the Git system can be used for carrying out version control on a PLC project, storage capacity in the version control process can be reduced, and storage efficiency is improved.
Drawings
In order to more clearly illustrate the embodiments of the application or the technical solutions of the prior art, the drawings which are used in the description of the embodiments or the prior art will be briefly described, it being obvious that the drawings in the description below are only some embodiments of the application, and that other drawings can be obtained from these drawings without inventive faculty for a person skilled in the art.
FIG. 1 is a flow chart of a method for version control of a binary project file according to one embodiment;
FIG. 2 is a flow chart of a step of storing description text according to a modified version in a temporary storage area of a local repository in response to a version update instruction in one embodiment;
FIG. 3 is a block diagram of a version control device of a binary project file according to one embodiment;
FIG. 4 is an internal block diagram of a computer device, in one embodiment.
Detailed Description
The following description of the embodiments of the present application will be made clearly and completely with reference to the accompanying drawings, in which it is apparent that the embodiments described are only some embodiments of the present application, but not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
As shown in fig. 1, an embodiment of the present application provides a method for controlling a version of a binary item file, where the method includes:
step S101, obtaining a binary project file through an IDE version control plug-in.
The Git system is a common version control system, and based on Git, the managed version of the project can be directly split into different branches, rollbacks and other functions. The Git system typically performs version control on text-formatted files, typically plain text (code or plain text files), so the content stored by the Git system does not store the full content of each version, but rather can derive each change in the file (adding, deleting, and modifying a line of text) by diff comparison. However, the binary item file is not a plain text file, and only a program for creating the file can open and repair the binary item file, so if the binary item file is directly subjected to version control in the Git system, the binary item file is saved in full once each time of change occurs, and the version of the Git system is stored more and more in a rolling way. In this embodiment, the binary project file is obtained and processed later by installing the IDE version control plug-in the Git system.
In some embodiments, the Git repository is initialized in the folder where the PLC project resides through the Git's own command line or graphical interface. In other embodiments, the Git warehouse is initialized by middleware of the integrated development environment after the PLC project is opened.
Step S102, carrying out object analysis on the binary project file, and converting the key parameters of each object in the binary project file into a target text format according to the predefined key parameters so as to generate a description text of the binary project file.
The predefined key parameters are defined by a user according to the needs, can only comprise logic codes, can also comprise equipment parameters which the user needs to store, and can also comprise the parameters which the user needs to pay attention to as key parameters according to the version control needs, the user performs object analysis on the binary project file, extracts the key parameters and converts the key parameters into a target text format, and the target text obtained by extracting and converting the key parameters of the whole binary project file forms the description text of the binary project file.
In one embodiment, the target text format is an XML format or a JSON format.
Step S103, storing the description text of the binary project file into a local warehouse.
Step S104, the description text of the binary project file is stored in a remote warehouse.
And uploading the description text of the binary project file to a remote warehouse to serve as a primary version for the engineer to perform multi-person collaborative development.
Step S105, in response to the item pulling instruction, the description text of the binary item file of the latest version is pulled down from the remote warehouse and stored to the local warehouse.
When a user needs to carry out version control, triggering a project pulling instruction, pulling the description text of the latest version from a remote warehouse and storing the description text into a local warehouse for version modification, so that the development of other collaborative developers is not influenced, the description text of the latest version is pulled, the development can be carried out on the development basis of other developers, and the development efficiency is improved.
The item pull instruction may be triggered by selecting an item to be pulled on the graphical interface of the IDE version control plug-in.
Step S106, responding to the version updating instruction, and storing the description text according to the modified version into a temporary storage area of the local warehouse.
After finishing the modification, the user inputs a version update instruction, and the description text of the modified version is stored in the temporary storage area.
In step S107, in response to the version commit instruction, the description text of the modified version stored in the temporary storage area is committed to the remote repository.
And when the version modification is completed, submitting the description file of the modified version stored in the temporary storage area to a remote warehouse by triggering a version submitting instruction.
In this embodiment, a binary item file is obtained through an IDE version control plug-in the Git system, object analysis is performed on the binary item file, key parameters of each object in the binary item file are converted into a target text format, so that the binary item file is converted into a description text and stored in a local warehouse, and then uploaded to a remote warehouse for storage, when version control is required, the description file of the latest version is pulled from the remote warehouse to the local warehouse, version modification is performed on the description text, the Git system can be used for performing version control on a PLC item, storage capacity in the version control process can be reduced, and storage efficiency is improved.
The embodiment of the application can realize the version control of the PLC project in the integrated development environment which relies on a single binary file to store the PLC project, for example, the integrated development environment based on IEC 61131-3 standard programming language, and provides convenience for the collaborative development of the PLC project for multiple people.
In one embodiment, when version control is performed, if modification occurs, the description text of the modified whole binary project file is stored. The method is convenient to use, and a native Git command line and a graphical interface can be used.
In one embodiment, in response to a version update instruction, text is stored to a scratch pad of a local repository according to a description of a modified version, including:
responding to the version updating instruction, and tracking the binary project file;
when the binary item file is identified to be modified, the binary item file of the modified version is analyzed, and key parameters of all objects in the binary item file of the modified version are converted into a target text format according to predefined key parameters so as to generate a description text of the modified version;
the description text of the modified version is stored in a scratch pad of the local repository.
If the description file of the whole project file is stored, a diff tool in Git can be used for tracking the binary project file, when the tracked project file changes, the binary project file of a modified version is analyzed, the description text of the binary project file of the modified version is generated, and the description text is stored in a temporary storage area.
In one embodiment, storing descriptive text of a binary item file to a local repository includes:
respectively establishing tree nodes in a local warehouse for each object in the project file;
block objects are created with the contents of the object attributes of each object, respectively, to store the descriptive text of the project file.
When initializing the Git warehouse, a single object in the binary project file is used as a tree object to establish storage, the Git creates and records a corresponding tree object according to the state represented by the temporary storage area at a certain moment, and a series of tree nodes can be recorded in turn (within a certain time period) by repeating the steps. Creating a tree node first requires creating a scratch pad by scratch-ing some files. A scratch pad may be created by the first version of the underlying command file and the first version of the description file of the binary item file added to a new scratch pad. The block object (blob) is built under the tree node of the object with the object attribute of each object, the block object is mainly responsible for storing the file data content, and the tree node is responsible for storing the tree node and the block object of the next level, and the relationship between the tree node and the block object is similar to the relationship between the file and the directory. A tree node contains one or more tree object records (tree entries), each containing a SHA-1 pointer to a data object or subtree object, and corresponding schema, type, and filename information.
In the embodiment, the description text is stored by a single object, so that the waste of the Git warehouse space caused by frequent modification can be effectively reduced, the file storage amount is reduced, and the storage efficiency is improved. For example, assuming that when the project of the PLC is large, the whole project description text assumes a size of 1M and only one object is modified at a time, the description text of one object has a size of 2K and the sizes before and after modification are unchanged, the size of the Git warehouse is about 1m+2x100k after modification is temporarily stored 100 times, so that the storage amount in the version control process is effectively reduced.
In one embodiment, the tree nodes are built based on the object name, object type, or object properties of each object.
As shown in fig. 2, in one embodiment, in response to a version update instruction, text is stored to a scratch pad of a local repository according to a description of a modified version, including:
in step S201, binary item file tracking is disabled in response to the version update instruction, and a target tracking object is determined according to the version update instruction.
For the case of storing in descriptive text of a single object, binary item file tracking needs to be disabled and the target tracking object is tracked according to version update instructions.
Step S202, a modified version description text of the target tracking object is acquired.
Step S203, a new block object is established according to the content of the object attribute of the modified version description text.
And extracting the content of the object attribute to create a new block object according to the description text of the target tracking object modified version.
Step S204, adding the new block object to the tree node of the target tracking object for temporary storage.
And storing the new block object under the tree node of the target tracking object to finish temporary storage.
In this embodiment, binary item file tracking is disabled, a single object is tracked, when target tracking is modified, the description file of the whole binary item file is not saved in full, a new block object is created only according to the description text of the modified target tracking object, and the new block object is stored under the corresponding tree node, so that the storage amount in the version control process can be further reduced, and the storage efficiency is improved.
In one embodiment, the method further comprises:
if conflict feedback is received, acquiring description texts corresponding to the two conflict versions which conflict according to the conflict feedback;
acquiring source codes of conflict parts according to description texts corresponding to the two conflict versions respectively;
and generating a conflict prompt according to the source code of the conflict part and displaying the conflict prompt on a display interface.
The Git system can merge submitted version branches, but conflict detection is needed before merging, if conflict exists between the currently submitted version branches and any version branch stored in a remote warehouse, respective corresponding description texts of two conflict versions are acquired, respective source codes are acquired according to the description texts of the two conflict versions, the source codes are compared to generate conflict prompts, and the conflict prompts are displayed on a display interface for a user to intuitively check comparison results of the two conflict versions, so that the conflict can be conveniently and quickly determined, and the conflict can be solved.
It should be understood that, although the steps in the flowcharts related to the embodiments described above are sequentially shown as indicated by arrows, these steps are not necessarily sequentially performed in the order indicated by the arrows. The steps are not strictly limited to the order of execution unless explicitly recited herein, and the steps may be executed in other orders. Moreover, at least some of the steps in the flowcharts described in the above embodiments may include a plurality of steps or a plurality of stages, which are not necessarily performed at the same time, but may be performed at different times, and the order of the steps or stages is not necessarily performed sequentially, but may be performed alternately or alternately with at least some of the other steps or stages.
The version control device of the binary item file provided by the embodiment of the application is described below, and the version control device of the binary item file described below and the version control method of the binary item file described above can be referred to correspondingly.
As shown in fig. 3, an embodiment of the present application provides a version control device 300 of a binary item file, including:
an obtaining module 301, configured to obtain a binary project file through an IDE version control plug-in;
the parsing module 302 is configured to parse the binary item file, and convert the key parameters of each object in the binary item file into a target text format according to predefined key parameters, so as to generate a description text of the binary item file;
a storage module 303, configured to store the description text of the binary item file to the local repository;
a uploading module 304, configured to upload the description text of the binary item file to a remote repository;
a version pull-down module 305, configured to pull down, from the remote repository and store, in response to an item pull instruction, descriptive text of a latest version of a binary item file to the local repository;
the temporary storage module 306 is used for responding to the version updating instruction and storing the version updating instruction into a temporary storage area of the local warehouse according to the description text of the modified version;
and the submitting module 307 is used for responding to a version submitting instruction and submitting the description text of the modified version stored in the temporary storage area to the remote warehouse.
In one embodiment, the storage module is configured to perform the steps of:
establishing tree nodes in the local warehouse for each object in the project file respectively;
block objects are built with the contents of the object attributes of each object, respectively, to store descriptive text of the project file.
In one embodiment, the staging module is configured to perform the steps of:
in response to the version updating instruction, binary project file tracking is disabled, and a target tracking object is determined according to the version updating instruction;
acquiring a modified version description text of the target tracking object;
establishing a new block object according to the content of the object attribute of the modified version description text;
and adding the new block object to the position below the tree node of the target tracking object for temporary storage.
In one embodiment, the staging module is configured to perform the steps of:
responsive to the version update instruction, tracking the binary project file;
when the binary project file is identified to be modified, the binary project file of a modified version is analyzed, and key parameters of all objects in the binary project file of the modified version are converted into a target text format according to predefined key parameters so as to generate a description text of the modified version;
and storing the description text of the modified version into a temporary storage area of the local warehouse.
In one embodiment, the version control device of the binary item file further includes:
the conflict text acquisition module is used for acquiring description texts corresponding to two conflict versions which are in conflict according to the conflict feedback when the conflict feedback is received;
the source code acquisition module is used for acquiring source codes of the conflict parts according to the description texts corresponding to the two conflict versions respectively;
and the comparison display module is used for generating conflict prompts according to the source codes of the conflict parts and displaying the conflict prompts on a display interface.
The division of the modules in the version control device of the binary item file is merely for illustration, and in other embodiments, the version control device of the binary item file may be divided into different modules as needed to complete all or part of the functions of the version control device of the binary item file. The above-described modules in the version control device of the binary item file may be implemented in whole or in part by software, hardware, and combinations thereof. The above modules may be embedded in hardware or may be independent of a processor in the computer device, or may be stored in software in a memory in the computer device, so that the processor may call and execute operations corresponding to the above modules.
In one embodiment, the present application also provides a storage medium having stored therein computer readable instructions which, when executed by one or more processors, cause the one or more processors to perform the method of any of the embodiments described above.
In one embodiment, the present application further provides a computer device having computer readable instructions stored therein, the one or more processors, when executing the computer readable instructions, performing the method of any of the above embodiments.
In one embodiment, a computer device is provided, which may be a terminal, and the internal structure of which may be as shown in fig. 4. The computer device includes a processor, a memory, a communication interface, a display screen, and an input device connected by a system bus. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage media. The communication interface of the computer device is used for carrying out wired or wireless communication with an external terminal, and the wireless mode can be realized through WIFI, a mobile cellular network, NFC (near field communication) or other technologies. The computer program, when executed by a processor, implements a method for version control of a binary item file. The display screen of the computer equipment can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer equipment can be a touch layer covered on the display screen, can also be keys, a track ball or a touch pad arranged on the shell of the computer equipment, and can also be an external keyboard, a touch pad or a mouse and the like.
It will be appreciated by persons skilled in the art that the architecture shown in fig. 4 is merely a block diagram of some of the architecture relevant to the present inventive arrangements and is not limiting as to the computer device to which the present inventive arrangements are applicable, and that a particular computer device may include more or fewer components than shown, or may combine some of the components, or have a different arrangement of components.
Those skilled in the art will appreciate that implementing all or part of the above described methods may be accomplished by way of a computer program stored on a non-transitory computer readable storage medium, which when executed, may comprise the steps of the embodiments of the methods described above. Any reference to memory, database, or other medium used in embodiments provided herein may include at least one of non-volatile and volatile memory. The nonvolatile Memory may include Read-Only Memory (ROM), magnetic tape, floppy disk, flash Memory, optical Memory, high density embedded nonvolatile Memory, resistive random access Memory (ReRAM), magnetic random access Memory (Magnetoresistive Random Access Memory, MRAM), ferroelectric Memory (Ferroelectric Random Access Memory, FRAM), phase change Memory (Phase Change Memory, PCM), graphene Memory, and the like. Volatile memory can include random access memory (Random Access Memory, RAM) or external cache memory, and the like. By way of illustration, and not limitation, RAM can be in the form of a variety of forms, such as static random access memory (Static Random Access Memory, SRAM) or dynamic random access memory (Dynamic Random Access Memory, DRAM), and the like. The databases referred to in the embodiments provided herein may include at least one of a relational database and a non-relational database. The non-relational database may include, but is not limited to, a blockchain-based distributed database, and the like. The processor referred to in the embodiments provided in the present application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic unit, a data processing logic unit based on quantum computing, or the like, but is not limited thereto.
Finally, it is further noted that relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
Furthermore, the terms "first," "second," and the like, are used for descriptive purposes only and are not to be construed as indicating or implying a relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defining "a first" or "a second" may explicitly or implicitly include at least one such feature. In the description of the present application, the meaning of "plurality" means at least two, for example, two, three, etc., unless specifically defined otherwise.
In the present specification, each embodiment is described in a progressive manner, and each embodiment focuses on the difference from other embodiments, and may be combined according to needs, and the same similar parts may be referred to each other.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the application. Thus, the present application is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (10)

1. A method for version control of a binary item file, the method comprising:
acquiring a binary project file through an IDE version control plug-in;
object analysis is carried out on the binary project file, and key parameters of all objects in the binary project file are converted into a target text format according to predefined key parameters so as to generate a description text of the binary project file;
storing the description text of the binary item file to a local warehouse;
uploading the description text of the binary item file to a remote warehouse;
in response to an item pulling instruction, pulling down description text of the binary item file of the latest version from the remote warehouse and storing the description text into the local warehouse;
responding to a version updating instruction, and storing the description text according to the modified version into a temporary storage area of the local warehouse;
and responding to a version submitting instruction, and submitting the descriptive text stored in the temporary storage area for the modified version to the remote warehouse.
2. The method for version control of a binary item file according to claim 1, wherein said storing the descriptive text of the binary item file to a local repository comprises:
establishing tree nodes in the local warehouse for each object in the project file respectively;
block objects are built with the contents of the object attributes of each object, respectively, to store descriptive text of the project file.
3. The version control method of binary item files according to claim 2, wherein the tree nodes are built according to object names, object types, or object attributes of each object.
4. The version control method of binary item files according to claim 2, wherein the storing the description text according to the modified version in the temporary storage area of the local repository in response to the version update instruction comprises:
in response to the version updating instruction, binary project file tracking is disabled, and a target tracking object is determined according to the version updating instruction;
acquiring a modified version description text of the target tracking object;
establishing a new block object according to the content of the object attribute of the modified version description text;
and adding the new block object to the position below the tree node of the target tracking object for temporary storage.
5. The method according to claim 1, wherein the storing the description text according to the modified version in the temporary storage area of the local repository in response to the version update instruction comprises:
responsive to the version update instruction, tracking the binary project file;
when the binary project file is identified to be modified, the binary project file of a modified version is analyzed, and key parameters of all objects in the binary project file of the modified version are converted into the target text format according to predefined key parameters so as to generate a description text of the modified version;
and storing the description text of the modified version into a temporary storage area of the local warehouse.
6. The version control method of a binary item file according to any one of claims 1 to 5, characterized in that the method further comprises:
if conflict feedback is received, acquiring description texts corresponding to the two conflict versions which conflict according to the conflict feedback;
acquiring source codes of conflict parts according to description texts corresponding to the two conflict versions respectively;
and generating a conflict prompt according to the source code of the conflict part and displaying the conflict prompt on a display interface.
7. The version control method of a binary item file according to claim 1, wherein the target text format is an XML format or a JSON format.
8. A version control apparatus for a binary item file, comprising:
the acquisition module is used for acquiring the binary project file through the IDE version control plug-in;
the analysis module is used for carrying out object analysis on the binary project file, and converting the key parameters of each object in the binary project file into a target text format according to the predefined key parameters so as to generate a description text of the binary project file;
the storage module is used for storing the description text of the binary project file to a local warehouse;
the uploading module is used for uploading the description text of the binary project file to a remote warehouse;
the version pull-down module is used for responding to the item pull instruction, pulling down the description text of the binary item file of the latest version from the remote warehouse and storing the description text into the local warehouse;
the temporary storage module is used for responding to the version updating instruction and storing the version updating instruction into a temporary storage area of the local warehouse according to the description text of the modified version;
and the submitting module is used for responding to a version submitting instruction and submitting the description text of the modified version stored in the temporary storage area to the remote warehouse.
9. A storage medium, characterized by: the storage medium having stored therein computer readable instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of the version control method of a binary item file as claimed in any one of claims 1 to 7.
10. A computer device, comprising: one or more processors, and memory;
the memory has stored therein computer readable instructions which, when executed by the one or more processors, perform the steps of the version control method of a binary item file as claimed in any one of claims 1 to 7.
CN202311041006.9A 2023-08-17 2023-08-17 Version control method and device of binary project file, storage medium and equipment Pending CN117055947A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311041006.9A CN117055947A (en) 2023-08-17 2023-08-17 Version control method and device of binary project file, storage medium and equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311041006.9A CN117055947A (en) 2023-08-17 2023-08-17 Version control method and device of binary project file, storage medium and equipment

Publications (1)

Publication Number Publication Date
CN117055947A true CN117055947A (en) 2023-11-14

Family

ID=88654916

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311041006.9A Pending CN117055947A (en) 2023-08-17 2023-08-17 Version control method and device of binary project file, storage medium and equipment

Country Status (1)

Country Link
CN (1) CN117055947A (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140297592A1 (en) * 2013-03-28 2014-10-02 Fujitsu Limited Computer-readable medium storing program and version control method
CN111666081A (en) * 2020-04-30 2020-09-15 平安科技(深圳)有限公司 Project version release method, device, equipment and medium based on Git

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140297592A1 (en) * 2013-03-28 2014-10-02 Fujitsu Limited Computer-readable medium storing program and version control method
CN111666081A (en) * 2020-04-30 2020-09-15 平安科技(深圳)有限公司 Project version release method, device, equipment and medium based on Git
WO2021217868A1 (en) * 2020-04-30 2021-11-04 平安科技(深圳)有限公司 Git-based project version release method and apparatus, device, and medium

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
烟草的香味.: "git操作二进制文件", pages 1 - 5, Retrieved from the Internet <URL:https://blog.csdn.net/qq_31725391/article/details/117595015> *
罗昭成-CSDN: "Git 必知必会:原理剖析", pages 1 - 16, Retrieved from the Internet <URL:https://blog.csdn.net/lovecluo/article/details/129095776> *

Similar Documents

Publication Publication Date Title
US9886245B2 (en) Software development tool using a workflow pattern that describes software applications
Langer et al. EMF Profiles: A Lightweight Extension Approach for EMF Models.
US20120054147A1 (en) System and method for extract, transform, and load workflow generation
US20180018402A1 (en) Dynamic hierarchy generation based on graph data
US7899846B2 (en) Declarative model editor generation
US8407235B2 (en) Exposing and using metadata and meta-metadata
CN104823158A (en) Method and system for simplified knowledge engineering
US11556702B2 (en) Orchestration of crud operations for a hierarchical web service data model in a spreadsheet
CA2638705A1 (en) Data and application model for configurable tracking and reporting system
WO2017132719A1 (en) Systems and methods for generating electronic document templates and electronic documents
US9250925B2 (en) Adding inheritance support to a computer programming language
WO2008064023A9 (en) System and method for data transformation
US20200012643A1 (en) Method for managing and executing decoders and transformations using linked data and a service layer
US20110208777A1 (en) Method and system for facilities management
CN111124938B (en) Method for generating componentized test case
KR101607516B1 (en) System for linking facility management data based on bim and method thereof
US20240037325A1 (en) Ability to add non-direct ancestor columns in child spreadsheets
US20120143888A1 (en) Automatic updating of an existing document using save-in functionality
CN117055947A (en) Version control method and device of binary project file, storage medium and equipment
CN116028062A (en) Target code generation method, NPU instruction display method and device
Yohannis et al. Towards efficient loading of change-based models
CN117897710A (en) Artificial intelligence method for solving industrial data conversion problem
JP2005056085A (en) Data structure conversion program
CN114356945A (en) Data processing method, data processing device, computer equipment and storage medium
JP4906424B2 (en) Web service design method and apparatus

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination