Version control method and system, computer equipment and storage medium

By monitoring the version update events of the file system tree and triggering corresponding continuous integration operations, the problem that the OSTree version control system cannot automatically discover updates and trigger continuous integration is solved, and the efficiency of continuous integration is improved.

CN120803511APending Publication Date: 2025-10-17PHYTIUM TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510872716.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-26
Publication Date
2025-10-17

AI Technical Summary

Technical Problem

The existing OSTree-based version control system cannot automatically discover updates to the file system tree, and cannot automatically trigger the continuous integration platform to perform continuous integration on the binary files in the file system tree.

Method used

By monitoring whether a version update event occurs in the file system tree, the corresponding continuous integration operation is determined according to the update type, and a trigger message is sent to the continuous integration platform to automatically trigger the continuous integration operation.

Benefits of technology

It realizes automatic discovery of file system tree updates and can trigger different continuous integration operations based on different update types, thus improving the efficiency of continuous integration.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120803511A_ABST
    Figure CN120803511A_ABST
Patent Text Reader

Abstract

The invention discloses a version control method and system, computer equipment and a storage medium, and the version control method comprises the steps: monitoring whether a file system tree generates a version updating event or not, if the file system tree generates the version updating event, determining a continuous integration operation corresponding to the version updating event according to the updating type of the version updating event, and sending the message for triggering the continuous integration operation to the continuous integration platform, so that the continuous integration platform performs corresponding continuous integration operation on the binary file of the file system tree. Based on this, not only can the update of the file system tree be automatically found, but also the continuous integration platform can be automatically triggered to continuously integrate the binary files of the file system tree, and different continuous integration operations can be triggered according to different update types, so that the continuous integration efficiency can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of software development, in particular to a version control method, system, computer device and storage medium. BACKGROUND

[0002] In the software development process, a version control system based on OSTree can be used to perform version control on a file system tree of a Linux operating system or the like. However, the current version control system based on OSTree cannot automatically discover updates of the file system tree, nor can it automatically trigger a continuous integration (CI) system to perform continuous integration on binary files of the file system tree. SUMMARY

[0003] The present application discloses a version control method, system, computer device and storage medium to solve the problem that the version control system based on OSTree cannot automatically discover updates of the file system tree and cannot automatically trigger a continuous integration platform to perform continuous integration on binary files of the file system tree.

[0004] In a first aspect, the present application discloses a version control method applied to a version control system based on OSTree, which comprises: monitoring whether a version update event occurs in a file system tree; if the version update event occurs in the file system tree, determining a continuous integration operation corresponding to the version update event according to an update type of the version update event, and sending a message triggering the continuous integration operation to a continuous integration platform, so as to make the continuous integration platform perform a corresponding continuous integration operation on binary files of the file system tree.

[0005] In some embodiments of the present application, the determining of the continuous integration operation corresponding to the version update event according to the update type of the version update event comprises: determining a trigger operation of the version update event according to the update type of the version update event; and determining the continuous integration operation corresponding to the version update event according to the trigger operation of the version update event.

[0006] In some embodiments of the present application, the determining of the trigger operation of the version update event according to the update type of the version update event comprises: determining that the trigger operation of the version update event is a commit operation or a merge operation according to whether the update type of the version update event is a commit index file update or a branch index file update; wherein the commit index file is used to index binary files committed on any branch of any repository of the file system tree, and the branch index file is used to index binary files on any branch of any repository of the file system tree.

[0007] In some embodiments of the present application, the determining the continuous integration operation corresponding to the version update event according to the triggering operation of the version update event comprises: determining the continuous integration operation corresponding to the version update event as an incremental build operation or a full integration operation according to the triggering operation of the version update event being a commit operation or a merge operation; wherein the incremental build operation is used for compiling and testing the updated binary files of the file system tree; and the full integration operation is used for compiling, testing and packaging all binary files on the updated branch of the file system tree.

[0008] In some embodiments of the present application, the monitoring whether the version update event occurs in the file system tree comprises: monitoring whether the commit index file and the branch index file are updated; and if the commit index file or the branch index file is updated, the version update event occurs in the file system tree.

[0009] In some embodiments of the present application, the sending the message triggering the continuous integration operation to the continuous integration platform comprises: determining the type of the message received by the continuous integration platform according to the interface type of the continuous integration platform; and sending the message of the corresponding type to the continuous integration platform, the message being used for triggering the continuous integration platform to perform the continuous integration operation on the files of the file system tree, the message of the corresponding type comprising an http type message or an ssh type message.

[0010] In some embodiments of the present application, the method further comprises: receiving the continuous integration result fed back by the continuous integration platform; storing the continuous integration result and providing a query interface, so that the developer can view the continuous integration result through the query interface.

[0011] In a second aspect, the present application discloses a version control system, the version control system comprising an OSTree-based version control system, the version control system comprising: a monitoring module, the monitoring module being used for monitoring whether a version update event occurs in a file system tree; and a triggering module, the triggering module being used for determining a continuous integration operation corresponding to the version update event according to the update type of the version update event when the version update event occurs in the file system tree, and sending a message triggering the continuous integration operation to a continuous integration platform, so that the continuous integration platform performs the corresponding continuous integration operation on the binary files of the file system tree.

[0012] In a third aspect, the present application discloses a computer device comprising a memory and a processor; the memory is used for storing instructions; and the processor is used for executing the version control method according to the instructions stored in the memory.

[0013] In a fourth aspect, the present application discloses a computer readable storage medium, which stores instructions for performing the version control method according to any one of the preceding aspects.

[0014] The version control method, system, computer device and storage medium disclosed by the present application can automatically discover the update of the file system tree by monitoring whether a version update event occurs in the file system tree, and can not only automatically trigger the continuous integration platform to perform continuous integration on the binary file of the file system tree, but also can trigger different continuous integration operations according to different update types, thereby improving the continuous integration efficiency. BRIEF DESCRIPTION OF DRAWINGS

[0015] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the background art, the drawings needed to be used in the embodiments of the present application or the background art will be described below.

[0016] Figure 1 A flowchart of a version control method disclosed by the embodiments of the present application.

[0017] Figure 2 An interaction schematic diagram of a version control system based on OSTree and a continuous integration platform disclosed by the embodiments of the present application.

[0018] Figure 3 A structural schematic diagram of a version control system disclosed by the embodiments of the present application.

[0019] Figure 4 A structural schematic diagram of a computer device disclosed by the embodiments of the present application. DETAILED DESCRIPTION

[0020] The technical solutions in the embodiments of the present application will be described below with reference to the drawings in the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor fall within the scope of protection of the present application.

[0021] In the field of industrial control, embedded Linux operating systems are increasingly used, but after the deployment of the linux operating system on the terminal device, the system image needs to be re-deployed physically when updating and upgrading the system, which cannot ensure the best operation experience and normal running time of the system. In order to improve the upgrade experience of the linux operating system, a version control system capable of performing safe remote OTA (Over-The-Air, Over-The-Air) upgrade and offline upgrade is needed.

[0022] The OSTree-based version control system has the functions of secure remote OTA upgrade and offline upgrade, and the amount of data transmitted during the upgrade process is very small. OSTree is a technology for operating system and container binary deployment and update, which combines a Git-like model to commit and download bootable file system trees, and deploys them and manages bootloader configurations through a layer mechanism. OSTree can manage operating system and container binaries like Git, which can achieve incremental and deterministic system updates, automatic rollback of bad file systems, and save the original data after upgrading and system restoration. The operating system and container binaries refer to computer programs of the operating system and container.

[0023] Taking the Linux operating system as an example, the repository of the OSTree-based version control system can store binary files of multiple versions of the Linux operating system, and different branches of the repository can store binary files of different versions of the Linux operating system. The binary files of the Linux operating system on the repositories and branches are distributed in a tree shape, forming a file system tree of the binary files of the Linux operating system. The developer of the Linux operating system can submit binary files of a new version of the Linux operating system to a newly created branch of the repository on the server through the client, or delete or modify binary files of an existing version of the Linux operating system and submit the updated binary files of the version to an existing branch of the repository on the server.

[0024] In order to ensure that the updated version of the Linux operating system is error-free, the developer or repository manager will use a continuous integration platform to compile and test the binary files of the Linux operating system. However, in the case of frequent version updates, the developer or repository manager cannot timely discover the version update, nor can they trigger the continuous integration platform for compilation and testing. The current OSTree-based version control system cannot automatically discover the update of the file system tree, nor can it automatically trigger the continuous integration platform for continuous integration.

[0025] Therefore, the present application discloses a version control method of a file system tree applied to an OSTree-based version control system, which automatically discovers the update of the file system tree by monitoring whether a version update event of the file system tree occurs, and automatically triggers the continuous integration platform to perform the corresponding continuous integration operation by sending a message triggering the continuous integration operation to the continuous integration platform according to the update type of the version update event when the version update event of the file system tree occurs.

[0026] As an optional implementation of the disclosure, the embodiment of the present application discloses a version control method, which is applied to an OSTree-based version control system, such as Figure 1 As shown in Figure 1 A flowchart of the version control method disclosed by the embodiment of the present application, which comprises:

[0027] S101: Monitor whether a version update event occurs in a file system tree.

[0028] The file system tree comprises a file system tree of a Linux operating system and the like. In some embodiments of the present application, a kernel-level event notification tool such as inotify or fanotify can be used to monitor whether a version update event occurs in a file system tree of a server of an OSTree-based version control system. Of course, the present application is not limited to this, and in other embodiments, other monitoring modules deployed on the server can also be used to monitor the version update event of the file system tree.

[0029] S102: If the version update event occurs in the file system tree, determine a continuous integration operation corresponding to the version update event according to the update type of the version update event, and send a message triggering the continuous integration operation to a continuous integration platform, so that the continuous integration platform performs a corresponding continuous integration operation on the binary file of the file system tree.

[0030] As shown in Figure 2 As shown in Figure 2 An interaction diagram of an OSTree-based version control system and a continuous integration platform disclosed by the embodiment of the present application, the OSTree-based version control system monitors whether a version update event occurs in a file system tree, if the version update event occurs in the file system tree, determines a continuous integration operation corresponding to the version update event according to the update type of the version update event, and sends a message triggering the continuous integration operation to the continuous integration platform, the continuous integration platform will respond to the message to perform a corresponding continuous integration operation on the binary file of the file system tree.

[0031] Based on this, not only can the OSTree-based version control system automatically discover the update of the file system tree, but also can automatically trigger the continuous integration platform to perform the continuous integration on the binary file of the file system tree, and can trigger different continuous integration operations according to different update types, thereby improving the continuous integration efficiency.

[0032] Taking the Linux operating system as an example, after the developer submits a new version of the Linux operating system to a newly created branch of a repository on a server or submits an updated version of the Linux operating system to an existing branch of the repository on the server, a commit index file in the repository is updated, and the commit index file is used to index binary files submitted on any branch of any repository of the file system tree. According to the updated commit index file, the developer or the repository manager can find the binary file of the new version of the Linux operating system or the binary file of the updated version of the Linux operating system. The developer can obtain the updated version of the Linux operating system by deleting or modifying the binary file of the old version of the Linux operating system.

[0033] After the developer completes the submission, the repository manager audits and merges the submission. After the repository manager merges the submission, a branch index file in the repository is updated, and the branch index file is used to index binary files on any branch of any repository of the file system tree. According to the updated branch index file, the developer or the repository manager can find the binary file of the new version of the Linux operating system or the binary file of the updated version of the Linux operating system on all branches of the repository.

[0034] In some embodiments of the present application, the triggering operation of the version update event can be determined according to the update type of the version update event, and the continuous integration operation corresponding to the version update event can be determined according to the triggering operation of the version update event.

[0035] On this basis, in some embodiments of the present application, the triggering operation of the version update event can be determined according to whether the update type of the version update event is a commit index file update or a branch index file update. Specifically, if the update type of the version update event is a commit index file update, the triggering operation of the version update event is determined to be a commit operation; if the update type of the version update event is a branch index file update, the triggering operation of the version update event is determined to be a merge operation.

[0036] For example, the $ostree-path / refs / heads / $ostree_branch and $ostree-path / refs / summary files under the absolute path $ostree-path of the warehouse can be monitored, where the $ostree-path / refs / heads / $ostree_branch file represents a commit index file, and the $ostree-path / refs / summary file represents a branch index file. The commit index file is used to index binary files on any branch of any warehouse of the file system tree, and the branch index file is used to index binary files on all branches of any warehouse of the file system tree. If the $ostree-path / refs / heads / $ostree_branch file is updated, it is determined that the triggering operation of the version update event is a commit operation; if the $ostree-path / refs / summary file is updated, it is determined that the triggering operation of the version update event is a merge operation.

[0037] On this basis, in some embodiments of the present application, according to whether the triggering operation of the version update event is a commit operation or a merge operation, it can be determined that the continuous integration operation corresponding to the version update event is an incremental build operation or a complete integration operation. Specifically, if the triggering operation of the version update event is a commit operation, it is determined that the continuous integration operation corresponding to the version update event is an incremental build operation; if the triggering operation of the version update event is a merge operation, it is determined that the continuous integration operation corresponding to the version update event is a complete integration operation. The incremental build operation is used to compile and test the updated binary files of the file system tree, and the complete integration operation is used to compile, test, and package all binary files on the updated branch of the file system tree.

[0038] Of course, the present application is not limited to this, and in other embodiments, the continuous integration operation corresponding to the version update event can also be directly determined according to the update type of the version update event. For example, according to whether the update type of the version update event is a commit index file update or a branch index file update, it is determined that the continuous integration operation corresponding to the version update event is an incremental build operation or a complete integration operation. Specifically, if the update type of the version update event is a commit index file update, it is determined that the continuous integration operation corresponding to the version update event is an incremental build operation; if the update type of the version update event is a branch index file update, it is determined that the continuous integration operation corresponding to the version update event is a complete integration operation.

[0039] In some embodiments of the present application, whether a version update event of the file system tree occurs can be determined by monitoring whether the commit index file and the branch index file are updated. If the commit index file or the branch index file is updated, the version update event of the file system tree occurs; if neither the commit index file nor the branch index file is updated, the version update event of the file system tree does not occur.

[0040] Of course, the present application is not limited to this, in other embodiments, whether a version update event of the file system tree occurs can also be determined by monitoring whether the developer performs a commit operation and monitoring whether the manager performs a merge operation. Among them, the commit operation or the merge operation for a specific branch or repository can be identified by an event filter.

[0041] In some embodiments of the present application, the type of message that the continuous integration platform receives can be determined according to the interface type of the continuous integration platform, and the corresponding type of message is sent to the continuous integration platform, the message is used to trigger the continuous integration platform to perform a continuous integration operation on the files of the file system tree, and the corresponding type of message includes an http type message or an ssh type message. Among them, the type of message can be determined to be http or ssh according to the type of interface protocol of the continuous integration platform.

[0042] Taking the message type as an example, first, the JSON data of the POST request is constructed according to the parameters of the configured message and the environment variables obtained by monitoring, and then the JSON data is sent to the continuous integration platform using curl-X POST, and log information is generated. Among them, the parameters of the message include the information of the branch that is updated, the hash value generated by the update, and the type of continuous integration operation; the log information includes the date of sending the message, etc.

[0043] Taking the message type as an example, first, the Jenkins-cli.jar is deployed on the server, then the Jenkins-cli data is constructed according to the parameters of the configured message and the environment variables obtained by monitoring, and then the Jenkins-cli data is sent to the continuous integration platform using aah, and log information is generated. Similarly, the parameters of the message include the information of the branch that is updated, the hash value generated by the update, and the type of continuous integration operation; the log information includes the date of sending the message, etc.

[0044] Taking the continuous integration operation in the Jenkins continuous integration platform as an example, first, the Jenkins environment is configured, then a Jenkins Job is created, the received message is parsed, the parameters of the configured message are obtained, then the corresponding downstream Jenkins job is created according to the type of continuous integration operation in the message parameters, and the corresponding continuous integration operation is performed.

[0045] In some embodiments of the present application, the continuous integration result fed back by the continuous integration platform can also be received, the continuous integration result can be stored and a query interface can be provided so that the developer can view the continuous integration result through the query interface. Specifically, the message returned by the continuous integration platform can be monitored, including the continuous integration result such as the build status, log information, execution time, etc., the continuous integration result can be converted into JSON or XML format data, stored in the state database of the version control system server, and the query interface can be provided so that the developer can view the continuous integration result through the query interface.

[0046] Of course, the present application is not limited to this, in other embodiments, the binary file can also be merged according to the integration result, etc., which will not be described here. For example, according to the continuous integration result that the submitted binary file has no error, the submitted binary file is merged with other binary files in the branch thereof.

[0047] As another optional implementation of the disclosure of the present application, the present application also discloses a version control system, which includes an OSTree-based version control system, as shown in Figure 3 Figure 3 The structure diagram of the version control system disclosed by the present application is shown in the figure, which includes a monitoring module 10 and a triggering module 20.

[0048] The monitoring module 10 is used to monitor whether a version update event occurs in the file system tree. The triggering module 20 is used to determine the continuous integration operation corresponding to the version update event according to the type of the updated index file in the version update event when the version update event occurs in the file system tree, and send the message triggering the continuous integration operation to the continuous integration platform, so that the continuous integration platform performs continuous integration on the binary file of the file system tree.

[0049] In some embodiments of the present application, the triggering module 20 can determine the triggering operation of the version update event according to the update type of the version update event, and determine the continuous integration operation corresponding to the version update event according to the triggering operation of the version update event.

[0050] On this basis, in some embodiments of the present application, the triggering module 20 can determine that the triggering operation of the version update event is the commit operation or the merge operation according to whether the update type of the version update event is the commit index file update or the branch index file update. The commit index file is used to index the binary file submitted on any branch of any repository of the file system tree, and the branch index file is used to index the binary file on any branch of any repository of the file system tree.

[0051] ​On this basis, in some embodiments of the present application, the triggering module 20 can determine that the continuous integration operation corresponding to the version update event is an incremental build operation or a complete integration operation according to whether the triggering operation of the version update event is a commit operation or a merge operation. The incremental build operation is used for compiling and testing the updated binary files of the file system tree, and the complete integration operation is used for compiling, testing and packaging all binary files on the updated branch of the file system tree.

[0052] On this basis, in some embodiments of the present application, the monitoring module 10 can determine whether the version update event of the file system tree occurs by monitoring whether the commit index file and the branch index file are updated. If the commit index file or the branch index file is updated, the version update event of the file system tree occurs.

[0053] In some embodiments of the present application, the triggering module 20 determines the type of message received by the continuous integration platform according to the interface type of the continuous integration platform, and sends a message of a corresponding type to the continuous integration platform. The message is used to trigger the continuous integration platform to perform a continuous integration operation on the files of the file system tree, and the message of the corresponding type includes an http type message or an ssh type message.

[0054] In some embodiments of the present application, the version control system further includes a receiving module, which is configured to receive the integration result fed back by the continuous integration platform, store the integration result and provide a query interface, so that the developer can view the integration result through the query interface.

[0055] As another optional implementation of the present application, the present application further discloses a computer device, as shown in Figure 4 Figure 4 The computer device disclosed by the present application includes:

[0056] The memory 81 is configured to store instructions.

[0057] The processor 82 is configured to run the instructions stored in the memory 81, and implement the version control method provided in any of the above embodiments.

[0058] Specifically, the computer device can further include a bus, a communication interface 83, an input device 84 and an output device 85. The processor 82, the memory 81, the communication interface 83, the input device 84 and the output device 85 are connected to each other through the bus. Wherein:

[0059] The bus can include a channel for transmitting information between various components of the computer system.

[0060] ​The processor 82 can be a general processor, such as a general central processing unit (CPU), a microprocessor, or the like, or can be an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of programs of the solutions of the present application. It can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a ready-to-use programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component. Among them, the processor 82 can include a main processor, and can also include a baseband chip, a modem, etc.

[0061] The memory 81 stores programs for executing the solutions of the present application, and can also store operating systems and other key services. Specifically, the programs can include program codes, and the program codes include computer operation instructions. More specifically, the memory 81 can include a read-only memory (ROM), other types of static storage devices that can store static information and instructions, a random access memory (RAM), other types of dynamic storage devices that can store information and instructions, a disk memory, a flash, etc.

[0062] The input device 84 can include devices that receive data and information input by a user, such as a keyboard, a mouse, a camera, a scanner, a light pen, a voice input device, a touch screen, a pedometer, or a gravity sensor, etc. The output device 85 can include devices that allow information to be output to a user, such as a display screen, a printer, a speaker, etc. The communication interface 83 can include devices using any transceiver to communicate with other devices or communication networks, such as Ethernet, a radio access network (RAN), a wireless local area network (WLAN), etc.

[0063] As an optional implementation of the present application, the embodiments of the present application disclose a computer program product, which includes computer program instructions, and the computer program instructions enable the processor to execute the version control method provided by any of the above embodiments when the computer program instructions are executed by the processor.

[0064] The computer program product can be written in any combination of one or more programming languages to perform the operations of the embodiments of the present application, including object-oriented programming languages such as Python, C++, etc., and conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on a user computing device, partially on a user device, as a separate software package, partially on a user computing device and partially on a remote computing device, or entirely on a remote computing device or server.

[0065] As an optional implementation of the disclosure, the embodiment of the present application discloses a computer readable storage medium, which stores a computer program for executing the version control method provided by any of the above embodiments.

[0066] A person of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiments can be completed by a computer program instructing related hardware, and the computer program can be stored in a non-volatile computer readable storage medium. When the computer program is executed, the processes of the above-mentioned embodiments can be included. Any reference to memory, storage, database or other medium used in each embodiment provided in the specification can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. As an illustration but not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.

[0067] Any combination of the technical features of the above embodiments can be made. In order to make the description simple, all possible combinations of the technical features in the above embodiments are not described, however, as long as the combination of the technical features does not exist, it should be considered as the scope of the present disclosure.

[0068] The above embodiments only express several embodiments of the present specification, which are described in detail and specifically, but should not be understood as limiting the scope of the patent application. It should be noted that for a person of ordinary skill in the art, without departing from the concept of the present specification, a number of modifications and improvements can be made, which are within the scope of the present specification. Therefore, the scope of the patent of the present specification should be subject to the appended claims.

Claims

1. A version control method, characterized in that: Applied to an OSTree-based version control system, the version control method includes: Monitor the file system tree for version update events; If a version update event occurs in the file system tree, a continuous integration operation corresponding to the version update event is determined based on the update type of the version update event, and a message triggering the continuous integration operation is sent to the continuous integration platform, so that the continuous integration platform performs the corresponding continuous integration operation on the binary files of the file system tree.

2. The version control method according to claim 1, characterized in that: Determining the continuous integration operation corresponding to the version update event according to the update type of the version update event includes: Determining a triggering operation for the version update event according to the update type of the version update event; According to the triggering operation of the version update event, a continuous integration operation corresponding to the version update event is determined.

3. The version control method according to claim 2, characterized in that: The step of determining the triggering operation of the version update event according to the update type of the version update event includes: According to whether the update type of the version update event is a commit index file update or a branch index file update, determining whether the triggering operation of the version update event is a commit operation or a merge operation; The submission index file is used to index binary files submitted on any branch of any repository in the file system tree; the branch index file is used to index binary files on any branch of any repository in the file system tree.

4. The version control method according to claim 3, characterized in that: The determining of the continuous integration operation corresponding to the version update event according to the triggering operation of the version update event includes: Determining whether the continuous integration operation corresponding to the version update event is an incremental build operation or a complete integration operation according to whether the triggering operation of the version update event is a commit operation or a merge operation; The incremental build operation is used to compile and test the updated binary files of the file system tree; and the complete integration operation is used to compile, test and package all binary files on the updated branch of the file system tree.

5. The version control method according to claim 3, characterized in that: The monitoring of whether a version update event occurs in the file system tree includes: Monitoring whether the submission index file and the branch index file are updated; If the submission index file or the branch index file is updated, a version update event occurs in the file system tree.

6. The version control method according to claim 1, characterized in that: The sending of the message triggering the continuous integration operation to the continuous integration platform includes: Determining the type of message received by the continuous integration platform according to the interface type of the continuous integration platform; Sending a message of a corresponding type to a continuous integration platform, the message is used to trigger the continuous integration platform to perform the continuous integration operation on the files in the file system tree, the message of the corresponding type includes an http type message or an ssh type message.

7. The version control method according to claim 1, characterized in that: Also includes: Receive continuous integration results fed back by the continuous integration platform; The continuous integration results are stored and a query interface is provided so that developers can view the continuous integration results through the query interface.

8. A version control system, characterized in that: The version control system includes an OSTree-based version control system, and the version control system includes: A monitoring module, configured to monitor whether a version update event occurs in the file system tree; A trigger module is used to determine, when a version update event occurs in the file system tree, a continuous integration operation corresponding to the version update event based on the update type of the version update event, and send a message triggering the continuous integration operation to the continuous integration platform, so that the continuous integration platform performs the corresponding continuous integration operation on the binary files of the file system tree.

9. A computer device, characterized in that: The system comprises a memory and a processor; the memory is used to store instructions; the processor is used to execute the version control method according to any one of claims 1 to 8 according to the instructions stored in the memory.

10. A computer-readable storage medium, characterized in that Instructions for executing the version control method according to any one of claims 1 to 8 are stored thereon.