CN108268275B - Software version control method and software version control equipment - Google Patents

Software version control method and software version control equipment Download PDF

Info

Publication number
CN108268275B
CN108268275B CN201710437003.5A CN201710437003A CN108268275B CN 108268275 B CN108268275 B CN 108268275B CN 201710437003 A CN201710437003 A CN 201710437003A CN 108268275 B CN108268275 B CN 108268275B
Authority
CN
China
Prior art keywords
version
software
software code
user
versions
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.)
Active
Application number
CN201710437003.5A
Other languages
Chinese (zh)
Other versions
CN108268275A (en
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.)
Ping An Puhui Enterprise Management Co Ltd
Original Assignee
Ping An Puhui Enterprise Management 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 Ping An Puhui Enterprise Management Co Ltd filed Critical Ping An Puhui Enterprise Management Co Ltd
Priority to CN201710437003.5A priority Critical patent/CN108268275B/en
Publication of CN108268275A publication Critical patent/CN108268275A/en
Application granted granted Critical
Publication of CN108268275B publication Critical patent/CN108268275B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

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)
  • Stored Programmes (AREA)

Abstract

The invention is suitable for the technical field of computers, and provides a software version control method and equipment, wherein the method comprises the following steps: respectively showing version information of each version of software code in each element of the directed acyclic graph; determining each element selected by a user according to an element selection instruction sent by the user in the directed acyclic graph; acquiring version information respectively corresponding to each element selected by a user, and caching software codes respectively matched with each version information; and comparing the cached software codes of all versions through a preset comparison tool, and outputting a comparison result. The invention improves the selection efficiency of the software version, automatically compares the software codes of each version in the cache through the preset comparison tool and outputs the comparison result, thereby ensuring that the system can display a clear version change view, enabling a user to visually check the difference between any two or more versions of the software codes, and improving the development efficiency of developers.

Description

Software version control method and software version control equipment
Technical Field
The invention belongs to the technical field of computers, and particularly relates to a software version control method and software version control equipment.
Background
Version control is a software engineering technique to ensure that the same file, edited by different people, is updated during the development process.
Version control records the change of each module of the program through document control, and sequences are coded for each change. This approach is standard practice for existing software code maintenance. A simple version control form, for example, gives a version level "a" to the original version of the software code. When the first change is made, the version level is changed to "B", and so on. After the version of the software code is changed, the system uniformly backs up the old version of the software code to be deleted or covered.
However, in the conventional software version control method, although the system has software codes of an old version backed up, the software codes of the old version only exist as a history record, and a clear version change view cannot be displayed, so that a user cannot intuitively view differences among the software codes of the versions.
Disclosure of Invention
In view of this, embodiments of the present invention provide a software version control method and a software version control device, so as to solve the problems that a clear version change view cannot be displayed and a user cannot intuitively view differences between software codes of respective versions in the prior art.
A first aspect of an embodiment of the present invention provides a software version control method, including:
respectively showing version information of each version of software code in each element of the directed acyclic graph;
determining each element selected by a user according to an element selection instruction sent by the user in the directed acyclic graph;
acquiring version information respectively corresponding to each element selected by a user, and caching software codes respectively matched with each version information;
and comparing the cached software codes of all versions through a preset comparison tool, and outputting a comparison result.
A second aspect of an embodiment of the present invention provides a software version control apparatus, including:
the display unit is used for respectively displaying the version information of each version of software code in each element of the directed acyclic graph;
the determining unit is used for determining each element selected by the user according to an element selection instruction sent by the user in the directed acyclic graph;
the acquisition unit is used for acquiring version information respectively corresponding to each element selected by a user and caching software codes respectively matched with each version information;
and the comparison unit is used for comparing the cached software codes of all versions through a preset comparison tool and outputting a comparison result.
A third aspect of an embodiment of the present invention provides a software version control device, where the software version control device includes a memory, a processor, and a computer program that is stored in the memory and is executable on the processor, and the processor implements the following steps when executing the computer program:
respectively showing version information of each version of software code in each element of the directed acyclic graph;
determining each element selected by a user according to an element selection instruction sent by the user in the directed acyclic graph;
acquiring version information respectively corresponding to each element selected by a user, and caching software codes respectively matched with each version information;
and comparing the cached software codes of all versions through a preset comparison tool, and outputting a comparison result.
A fourth aspect of embodiments of the present invention provides a computer-readable storage medium storing a computer program which, when executed by a processor, implements the steps of:
respectively showing version information of each version of software code in each element of the directed acyclic graph;
determining each element selected by a user according to an element selection instruction sent by the user in the directed acyclic graph;
acquiring version information respectively corresponding to each element selected by a user, and caching software codes respectively matched with each version information;
and comparing the cached software codes of all versions through a preset comparison tool, and outputting a comparison result.
In the embodiment of the invention, the version information of the software codes of each version is displayed by each element in the directed acyclic graph, so that a user can intuitively determine the total number of the software versions based on the number of the elements; the user can download and cache the software codes corresponding to the elements by clicking any element in the directed acyclic graph, so that the selection efficiency of the user on the software version is improved based on each element of the visual display version information; the software codes of all versions in the cache are automatically compared through a preset comparison tool, and a comparison result is output, so that clear display of the version change view is realized, a user can visually check the difference between any two or more versions of software codes, and the development efficiency of developers is improved.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the embodiments or the prior art descriptions will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without inventive exercise.
FIG. 1 is a flowchart of an implementation of a software version control method according to an embodiment of the present invention;
FIG. 2 is a flowchart illustrating an implementation of a software version control method according to another embodiment of the present invention;
fig. 3 is a flowchart of a specific implementation of the software version control method S101 according to an embodiment of the present invention;
fig. 4 is a flowchart illustrating a specific implementation of the software version control method S104 according to an embodiment of the present invention;
FIG. 5 is a flowchart illustrating an implementation of a software version control method according to another embodiment of the present invention;
fig. 6 is a block diagram of a software version control apparatus according to an embodiment of the present invention;
fig. 7 is a block diagram of a software version control apparatus according to another embodiment of the present invention.
Fig. 8 is a block diagram of a software version control apparatus according to still another embodiment of the present invention.
Fig. 9 is a schematic structural diagram of a software version control device according to an embodiment of the present invention.
Detailed Description
In the following description, for purposes of explanation and not limitation, specific details are set forth, such as particular system structures, techniques, etc. in order to provide a thorough understanding of the embodiments of the invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known systems, devices, circuits, and methods are omitted so as not to obscure the description of the present invention with unnecessary detail.
In order to explain the technical means of the present invention, the following description will be given by way of specific examples.
Fig. 1 shows an implementation flow of a software version control method provided by an embodiment of the present invention, which is detailed as follows:
s101: and respectively showing the version information of each version of software code in each element of the directed acyclic graph.
In graph theory, a directed graph D refers to an ordered triple
Figure BDA0001318904210000041
Wherein
Figure BDA0001318904210000042
For the correlation function, it makes each directed edge in A (D) correspond to a point in V (D). If a Directed graph cannot go from a node back to the node through several edges, the graph is a Directed acyclic graph (DAG view). In the implementation of the present invention, each node in the directed acyclic graph is represented as an element in the DAG view.
In the embodiment of the invention, each version of software code is stored in one code file. Each of the code files stores software code having a corresponding one of version information. For any two software codes with different version information, the two software codes can be the software codes belonging to the same development project or the software codes belonging to different development projects. At a certain moment, if a new code file is detected to be present, the software code is determined to have a version change, and at the moment, a version number matched with the code file is generated. Before the moment, modifying the code file with the latest time as the code file before the software version change. The file names of the code files before and after the change may be the same or different. The version number generated at the present time may be, for example, one added to the version number of the code file before the change. And meanwhile, the version number is generated, and code file remark information input by a user is acquired. And the version number and the code file remark information belong to version information. And storing the code file and the corresponding version information to a preset specified path.
The DAG view includes a plurality of elements, each element corresponding to a version of the software code. Due to the acyclic nature of DAG views, topological ordering can be achieved between elements connected by directed edges. When each element in the DAG view is displayed, each element can be searched from the corresponding relation table according to a preset corresponding relation table, so that the software code bound with the element is determined, and after the version information of the software code is read, the version information is displayed in the elements of the DAG view at the same time. When the version information of the software code only comprises a version number, the version number is shown in an element of the DAG view; when the version information of the software code includes code file remark information, the code file remark information is implicitly displayed in an element of the DAG view, that is, the corresponding code file remark information is displayed in the element only when the selection control is detected to indicate the element.
In an embodiment of the present invention, the selection control may be, for example, a mouse arrow displayed in the DAG view.
As another embodiment of the present invention, as shown in fig. 2, after the step S101, the method further includes:
s105: and when detecting that the software code is changed, synchronously updating the directed acyclic graph.
After the DAG view is generated, if a user downloads a certain version of software code and performs an uploading operation after modifying the software code, a new code file is generated, so that a piece of software code obtained after the user modifies is stored in the code file. When the presence of a new code file is detected, it may be determined that a new version of the software code has occurred, i.e., that a version change has occurred. And synchronously updating the DAG view while generating a corresponding version number for the newly obtained software code so as to add a new element in the DAG view, wherein the element is matched with the newly generated software code version, thereby ensuring that the DAG view corresponds to each actually stored version software code in real time.
As an embodiment of the present invention, in order to further improve the software version display effect of the DAG view, as shown in fig. 3, the above S101 specifically includes:
s301: and acquiring the generation time of each version of software code.
Each time the user modifies and stores the software code, a new version of the software code is generated. And determining the time when the software codes are stored as the generation time of the version software codes, and recording the generation time of the version software codes in the file attributes of the software codes, so that the generation time corresponding to the file attributes is read from the code files corresponding to the stored version software codes before the DAG view is generated.
S302: and respectively determining the color brightness corresponding to each version of software code according to the sequence of the generation time of each version of software code.
If the terminal equipment stores software codes of N (N is a positive integer) versions, acquiring the generation time of each software version, sequencing the N software versions according to the appearance sequence of the N generation times so that the software version with the earlier generation time is arranged before the software version with the later generation time, and outputting a software version sequence. In the sequence of software versions, the total number of software versions is N.
And generating N different color brightness according to the arrangement sequence of the software versions in the software version sequence. Wherein each color intensity corresponds to a software version. And, as the software version arrangement sequence increases, the color brightness corresponding to each software version also increases correspondingly. And arranging the generated N color brightness according to the sequence from small to large to obtain a color brightness sequence. And determining a software version and a color brightness with the same sequence number in the software version sequence and the color brightness sequence as the color brightness corresponding to the software version.
S303: rendering each element in the directed acyclic graph with the color brightness respectively corresponding to each version of software code.
In the above S101, each element in the DAG view represents a software version, and each element only displays version information of the software version, and in a case that the DAG view includes multiple directed paths, a user needs to view and compare version information displayed by each element to determine the freshness of different software versions.
In the embodiment of the invention, each element in the DAG view represents one software version, and simultaneously, the element is rendered by using the color brightness corresponding to the software version. The color saturation and hue value of each element in the whole DAG view are the same default values, so that each element in the DAG view can respectively present the same color system but different colors with different brightness by rendering different elements with different color brightness. With greater color brightness, the elements in the DAG view will exhibit lighter colors. Meanwhile, the later the generation time of the software version is, the greater the color brightness corresponding to the software version is, so that even if the DAG view comprises a plurality of directed paths, the user can intuitively determine the freshness of the software version corresponding to each element according to the color brightness of the element only by based on the color brightness of the element in the DAG view.
S102: and determining each element selected by the user according to an element selection instruction sent by the user in the directed acyclic graph.
By moving or controlling the selection control displayed in the DAG view, a user can send out an element selection instruction when the selection control moves to any element so as to determine the software version corresponding to the selected element. The user may control the selection control, for example, by moving a pre-connected mouse to move the selection control in the DAG view. When the DAG view is displayed on the touch screen, the user can directly send a touch selection instruction to the elements required to be selected in the touch screen. When an element selection instruction sent by a user on the DAG view is detected, an element corresponding to the element selection instruction can be determined based on the view position of the selection control, and the element is marked in the DAG view, so that the user can determine that the element is selected completely. S103 is executed only when a selection instruction of two or more different elements is detected. Therefore, after one element is selected, the user may select another element again in the DAG view by repeating the above operation of moving or controlling the selection control, and mark the element simultaneously with the element selected by the user at the previous time.
When detecting that the user sends the element selection instruction twice, starting an internal timer, and judging whether the element selection instruction is received again within the preset time. If the preset time length is up, the element selection instruction sent by the user is not received again, and after determining each element corresponding to each element selection instruction before the time, executing S103; and if the element selection instruction sent by the user is received again before the preset time length is reached, resetting the timer, returning to execute the timer inside the starting, and judging whether the element selection instruction is received again in the preset time length.
S103: and acquiring version information respectively corresponding to each element selected by a user, and caching software codes respectively matched with each version information.
And after each element selected by the user is determined, reading the version information displayed on each element, thereby acquiring the software code corresponding to each version information in the actual storage path of the software code. If the number of the elements selected by the user is two, after the software codes of the two versions are respectively read, the software codes of one version are respectively cached by taking the software code of one version as a unit.
S104: and comparing the cached software codes of all versions through a preset comparison tool, and outputting a comparison result.
In the embodiment of the invention, the comparison tools comprise a pre-integrated comparison tool and a third-party comparison tool installed in the operating system in a custom installation mode. The third-party comparison tools include, but are not limited to, Beyond company, diffMerge, WinMerge, and UltraCompler Professional, etc.
Fig. 4 shows a specific implementation flow of the software version control method S104 according to an embodiment of the present invention. As can be seen from fig. 4, the above S104 specifically includes S401 and S402, and the implementation principle of S401 and S402 is specifically as follows:
s401: and when detecting that a third-party comparison tool exists in the operating system, comparing the cached software codes of the versions by using the comparison tool, and outputting a comparison result.
Since the third-party comparison tool defines its URLScheme in the InfoPlaylist, and the third-party comparison tool registers its URLScheme in the operating system during the installation process, when determining whether the third-party comparison tool exists in the operating system, it determines whether the specified URL Schemes is registered through the CanOpenURL. If the specified URL Schemes is registered in the operating system, determining that a third-party comparison tool corresponding to the URL Schemes exists in the operating system, and starting the third-party comparison tool in an OpenURL mode.
In the embodiment of the invention, an administrator can preset URL Schemes of a plurality of third-party comparison tools and set different priorities for each preset URL Schemes, so that the preset URL Schemes can be compared with the registered URL Schemes in the operating system one by one to determine the third-party comparison tools in the operating system. In particular, the priority of the URL Schemes may be custom adjusted according to the personal needs of the user. When the operating system has registered the URL schemes corresponding to the plurality of third-party comparison tools, selecting one URL schema with the highest priority, and starting the third-party comparison tool corresponding to the URL schema.
And after the third-party comparison tool is started, importing the software codes of the plurality of versions in the cache into the third-party comparison tool for comparison processing. And finally, displaying the specific difference between the software codes of different versions in a display page of the third-party comparison tool through highlighting, and synchronously displaying the software codes of all versions in a column display mode.
S402: and when detecting that no third-party comparison tool exists in the operating system, comparing the cached software codes of the versions by utilizing a pre-integrated comparison tool, and outputting a comparison result.
And when detecting that the preset URL Schemes are not registered in the operating system, determining that no third-party comparison tool exists in the operating system. At this time, the comparison tool integrated in the internal is started, and the software codes of all versions in the cache are read for comparison. And displaying a comparison result obtained after comparison in a display page outside the DAG view. And when the number of the cached software code versions is more than two, sequencing the software versions, and executing comparison operation for multiple times. During each comparison, only the software codes of the two adjacent versions in the sequence are compared, and the difference between the software codes of the two adjacent versions is marked by one color. Finally, the cached version change views of the software codes of the versions are displayed at the same time, so that the user can visually know the difference between each two adjacent software code versions selected by the user.
In the embodiment of the invention, the software codes of all versions are compared by flexibly calling the third-party comparison tool installed in the operating system, so that the display form of the output code comparison result can meet the personal habits and personal requirements of users. When the operating system does not install a third-party comparison tool, the pre-integrated comparison tool can be used for realizing the code comparison function, so that the installation operation of the comparison tool by a user is avoided, and the comparison efficiency of the software codes is improved.
In the embodiment of the invention, the version information of the software codes of each version is displayed by each element in the directed acyclic graph, so that a user can intuitively determine the total number of the software versions based on the number of the elements; the user can download and cache the software codes corresponding to the elements by clicking any element in the directed acyclic graph, so that the selection efficiency of the user on the software version is improved based on each element of the visual display version information; the software codes of all versions in the cache are automatically compared through a preset comparison tool, and a comparison result is output, so that clear display of the version change view is realized, a user can visually check the difference between any two or more versions of software codes, and the development efficiency of developers is improved.
As still another embodiment of the present invention, as shown in fig. 5, after the above S101 and before the above S102, the method further includes S501; after S102, the method further includes S502 and S503, and the implementation principle of each step is as follows:
s501: and respectively associating each element in the directed acyclic graph with a corresponding download address of one software version.
When the version information of the corresponding software code is displayed by each element in the DAG view, the version information of the software code is marked in the element, so that a user can visually check one software version represented by each element based on the actual display effect of the element.
In the embodiment of the invention, the software codes of each version are actually stored in the appointed path of the terminal equipment. And generating a download address corresponding to each version of software code according to the storage position of each version of software code. The download address is a direct channel for requiring a user to download the software code, and the acquisition operation of the software code can be immediately triggered by clicking the download link.
In the DAG view, each element is associated with the download address of one software version corresponding to the element, that is, after each element is displayed in the DAG view in a hyperlink mode, the link address corresponding to the element is set as the download address of the software code corresponding to the element.
S502: and sending out software code downloading prompt information based on the downloading addresses respectively associated with the elements selected by the user.
In the above S102, each element selected by the user is determined by obtaining an element selection instruction sent by the user in the DAG view, and as can be seen from S601, each element is displayed in the DAG view in the form of a hyperlink, so that after the user selects each element, a link address corresponding to the hyperlink, that is, a download address of the software code corresponding to the element, is opened. And displaying version information, a download address and prompt information of the software version corresponding to the element in a window popped up at the current moment, wherein the prompt information is whether the software code of the version needs to be downloaded to the local.
S503: and when receiving the software code downloading confirmation information based on the downloading address, returning the software code corresponding to the downloading address.
And after the user checks the prompt message and clicks a download confirmation button, the software code download confirmation message is received. Because the user is the software code download confirmation information sent in the window showing a certain download address, only one version of software code corresponding to the download address is obtained, and then the version of software code is stored in the local folder designated by the user.
In the embodiment of the invention, the download address of the software version is associated with the element in the DAG view, so that a user can simultaneously download the software code corresponding to the element to the specified local folder while selecting the element, and the user does not need to search the download address of the software version corresponding to the element in other views. Meanwhile, based on elements with different colors and brightness in the DAG view, a user can quickly find out a software version required by the user for downloading, and therefore the downloading efficiency of the software version is further improved.
It should be understood that, the sequence numbers of the steps in the foregoing embodiments do not imply an execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation to the implementation process of the embodiments of the present invention.
Fig. 6 shows a block diagram of a software version control apparatus according to an embodiment of the present invention, which corresponds to the software version control method according to the above embodiment, and only shows the relevant parts according to the embodiment of the present invention for convenience of description.
Referring to fig. 6, the apparatus includes:
and the showing unit 61 is configured to show version information of each version of software code in each element of the directed acyclic graph.
And the determining unit 62 is configured to determine each element selected by the user according to an element selection instruction sent by the user in the directed acyclic graph.
The obtaining unit 63 is configured to obtain version information corresponding to each element selected by the user, and cache software codes respectively matched with each version information.
And the comparison unit 64 is used for comparing the cached software codes of the versions through a preset comparison tool and outputting a comparison result.
Optionally, as shown in fig. 7, the software version control apparatus further includes:
and the updating unit 65 is used for synchronously updating the directed acyclic graph when detecting that the software code is changed.
Optionally, the display unit 61 comprises:
and the acquisition subunit is used for acquiring the generation time of each version of software code.
And the determining subunit is used for respectively determining the color brightness corresponding to the software codes of each version according to the sequence of the generation time of the software codes of each version.
A rendering subunit, configured to render each element in the directed acyclic graph with the color brightness respectively corresponding to each version of the software code.
Optionally, as shown in fig. 8, the software version control apparatus further includes:
and an associating unit 66, configured to associate each element in the directed acyclic graph with a download address of a corresponding software version.
And determining each element selected by the user according to an element selection instruction sent by the user in the directed acyclic graph, and further comprising the following steps.
And the prompting unit 67 is configured to send software code download prompting information based on the download addresses respectively associated with the elements selected by the user.
And the downloading unit 68 is used for returning the software code corresponding to the downloading address when receiving the software code downloading confirmation information based on the downloading address.
Optionally, the comparing unit 64 includes:
and the first comparison subunit is used for comparing the cached software codes of the versions by using a third-party comparison tool when the third-party comparison tool is detected to exist in the operating system, and outputting a comparison result.
And the second comparison subunit is used for comparing the cached software codes of the versions by utilizing the pre-integrated comparison tool when detecting that the third-party comparison tool does not exist in the operating system, and outputting the comparison result.
Fig. 8 is a schematic structural diagram of a software version control device according to an embodiment of the present invention. As shown in fig. 9, the software version control device 9 of this embodiment includes: a processor 90, a memory 91 and a computer program 92, such as a software version control program, stored in said memory 91 and operable on said processor 90. The processor 90, when executing the computer program 92, implements the steps in the various software version control method embodiments described above, such as steps S101 to S104 shown in fig. 2. Alternatively, the processor 90, when executing the computer program 92, implements the functions of the units in the above-described device embodiments, such as the functions of the units 61 to 64 shown in fig. 6.
Illustratively, the computer program 92 may be partitioned into one or more modules that are stored in the memory 91 and executed by the processor 90 to implement the present invention. The one or more modules may be a series of computer program instruction segments capable of performing specific functions, which are used to describe the execution process of the computer program 92 in the software version control device 9. For example, the computer program 92 may be divided into a presentation module, a determination module, an acquisition module, and a comparison module, and each module has the following specific functions:
the display module is used for respectively displaying the version information of each version of software code in each element of the directed acyclic graph.
The determining module is used for determining each element selected by the user according to an element selection instruction sent by the user in the directed acyclic graph.
The acquisition module is used for acquiring version information corresponding to each element selected by a user and caching software codes respectively matched with each version information.
And the comparison module is used for comparing the cached software codes of all versions through a preset comparison tool and outputting a comparison result.
The software version control device 9 may be a desktop computer, a notebook, a palm computer, a cloud server, or other computing devices. The software version control device 9 may include, but is not limited to, a processor 90, a memory 91. It will be understood by those skilled in the art that fig. 9 is merely an example of the software version control device 9, and does not constitute a limitation of the software version control device 9, and may include more or less components than those shown, or combine some components, or different components, for example, the software version control device 9 may further include a display, an input-output device, a network access device, a bus, etc.
The Processor 90 may be a Central Processing Unit (CPU), other general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA) or other Programmable logic device, discrete Gate or transistor logic, discrete hardware components, etc. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The memory 91 may be an internal storage unit of the software version control device 9, such as a hard disk or a memory of the software version control device 9. The memory 91 may also be an external storage device of the software version control device 9, such as a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), and the like, which are provided on the software version control device 9. Further, the memory 91 may also include both an internal storage unit of the software version control device 9 and an external storage device. The memory 91 is used for storing the computer program and other programs and data required by the software version control device. The memory 91 may also be used to temporarily store data that has been output or is to be output.
It will be apparent to those skilled in the art that, for convenience and brevity of description, only the above-mentioned division of the functional units and modules is illustrated, and in practical applications, the above-mentioned function distribution may be performed by different functional units and modules according to needs, that is, the internal structure of the apparatus is divided into different functional units or modules to perform all or part of the above-mentioned functions. Each functional unit and module in the embodiments may be integrated in one processing unit, or each unit may exist alone physically, or two or more units are integrated in one unit, and the integrated unit may be implemented in a form of hardware, or in a form of software functional unit. In addition, specific names of the functional units and modules are only for convenience of distinguishing from each other, and are not used for limiting the protection scope of the present application. The specific working processes of the units and modules in the system may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
In the embodiments provided in the present invention, it should be understood that the disclosed apparatus and method may be implemented in other ways. For example, the above-described system embodiments are merely illustrative, and for example, the division of the modules or units is only one logical division, and there may be other divisions when actually implemented, for example, a plurality of units or components may be combined or may be integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the embodiments of the present invention may be implemented in the form of a software product, which is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, a network device, or the like) or a processor (processor) to execute all or part of the steps of the methods described in the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
The above-mentioned embodiments are only used for illustrating the technical solutions of the present invention, and not for limiting the same; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; such modifications and substitutions do not substantially depart from the spirit and scope of the embodiments of the present invention, and are intended to be included within the scope of the present invention.

Claims (8)

1. A software version control method, comprising:
respectively showing version information of each version of software code in each element of the directed acyclic graph;
enabling each element in the directed acyclic graph to be respectively associated with a download address of a corresponding software version; the method comprises the steps that software codes of all versions are stored in a designated path of terminal equipment, and download addresses corresponding to the software codes of all versions are generated according to the storage positions of the software codes of all versions;
determining each element selected by a user according to an element selection instruction sent by the user in the directed acyclic graph;
sending software code downloading prompt information based on the downloading addresses respectively associated with the elements selected by the user;
when receiving software code download confirmation information based on the download address, returning the software code corresponding to the download address;
acquiring version information respectively corresponding to each element selected by a user, and caching software codes respectively matched with each version information;
and comparing the cached software codes of all versions through a preset comparison tool, and outputting a comparison result.
2. The software version control method according to claim 1, after respectively showing version information of each version of software code in each element of the directed acyclic graph, further comprising:
and when detecting that the software code is changed, synchronously updating the directed acyclic graph.
3. The software version control method according to claim 1, wherein the respectively showing version information of each version of software code in each element of the directed acyclic graph comprises:
acquiring the generation time of each version of software code;
respectively determining the color brightness corresponding to each version of software code according to the sequence of the generation time of each version of software code;
rendering each element in the directed acyclic graph with the color brightness respectively corresponding to each version of software code.
4. The software version control method according to any one of claims 1 to 3, wherein the comparing the cached software codes of the respective versions by a preset comparing tool and outputting a comparison result comprises:
when a third-party comparison tool is detected to exist in the operating system, the comparison tool is utilized to compare and process cached software codes of various versions, and a comparison result is output;
and when detecting that no third-party comparison tool exists in the operating system, comparing the cached software codes of all versions through a pre-integrated comparison tool, and outputting a comparison result.
5. A software version control device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the following steps when executing the computer program:
respectively showing version information of each version of software code in each element of the directed acyclic graph;
enabling each element in the directed acyclic graph to be respectively associated with a download address of a corresponding software version; the method comprises the steps that software codes of all versions are stored in a designated path of terminal equipment, and download addresses corresponding to the software codes of all versions are generated according to the storage positions of the software codes of all versions;
determining each element selected by a user according to an element selection instruction sent by the user in the directed acyclic graph;
sending software code downloading prompt information based on the downloading addresses respectively associated with the elements selected by the user;
when receiving software code download confirmation information based on the download address, returning the software code corresponding to the download address;
acquiring version information respectively corresponding to each element selected by a user, and caching software codes respectively matched with each version information;
and comparing the cached software codes of all versions through a preset comparison tool, and outputting a comparison result.
6. The software version control device of claim 5, wherein the processor, when executing the computer program, further performs the steps of:
and when detecting that the software code is changed, synchronously updating the directed acyclic graph.
7. The software version control device according to claim 5, wherein the step of respectively showing the version information of the software code of each version in each element of the directed acyclic graph specifically comprises:
acquiring the generation time of each version of software code;
respectively determining the color brightness corresponding to each version of software code according to the sequence of the generation time of each version of software code;
rendering each element in the directed acyclic graph with the color brightness respectively corresponding to each version of software code.
8. A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the steps of the software version control method according to any one of claims 1 to 4.
CN201710437003.5A 2017-06-12 2017-06-12 Software version control method and software version control equipment Active CN108268275B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710437003.5A CN108268275B (en) 2017-06-12 2017-06-12 Software version control method and software version control equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710437003.5A CN108268275B (en) 2017-06-12 2017-06-12 Software version control method and software version control equipment

Publications (2)

Publication Number Publication Date
CN108268275A CN108268275A (en) 2018-07-10
CN108268275B true CN108268275B (en) 2021-05-04

Family

ID=62770884

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710437003.5A Active CN108268275B (en) 2017-06-12 2017-06-12 Software version control method and software version control equipment

Country Status (1)

Country Link
CN (1) CN108268275B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110058877A (en) * 2018-11-06 2019-07-26 阿里巴巴集团控股有限公司 Shunt assembly and its control method
CN110716739A (en) * 2019-09-19 2020-01-21 平安科技(深圳)有限公司 Code change information statistical method, system and readable storage medium
CN111506779B (en) * 2020-04-20 2021-03-16 东云睿连(武汉)计算技术有限公司 Object version and associated information management method and system facing data processing
CN112363756B (en) * 2020-12-04 2022-06-21 四川长虹电器股份有限公司 Method capable of dynamically switching BOM versions
CN112613894B (en) * 2020-12-31 2024-04-16 中国农业银行股份有限公司 Method and device for associating source code with product

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100426291C (en) * 2005-11-26 2008-10-15 华为技术有限公司 System and method to realize database upgrading in background management system
US8359571B2 (en) * 2005-12-19 2013-01-22 International Business Machines Corporation Computer method and apparatus for activity-based version selection in a configuration management system
US20140331202A1 (en) * 2011-12-12 2014-11-06 Hitachi, Ltd. Software Analysis Program and Software Analysis System
US9383988B2 (en) * 2012-07-03 2016-07-05 Salesforce, Inc. System and method for using directed acyclic graph (DAG) for application updates
CN104035772B (en) * 2014-06-09 2017-11-14 中国科学院软件研究所 Source code multi version function calling relationship otherness identification method based on static analysis
CN110119393B (en) * 2016-04-29 2021-04-09 清华大学 Code version management system and method

Also Published As

Publication number Publication date
CN108268275A (en) 2018-07-10

Similar Documents

Publication Publication Date Title
CN108268275B (en) Software version control method and software version control equipment
CN107506193B (en) Development method of subsystem pages, storage medium and server
US10175852B2 (en) Information processing methods and electronic devices for classifying applications
CN112214142B (en) Application information display method and device, electronic equipment and storage medium
US20210019106A1 (en) Desktop Sharing Method and Mobile Terminal
US9633208B2 (en) Apparatus and method for displaying computer health index
CN110221899B (en) User interface adjusting method, device and system
JP6679350B2 (en) Information processing apparatus, program, and information processing method
CN104731509A (en) Searching method and device based on touch operation and terminal
CN105867714A (en) Application downloading method, apparatus and system
CN109522500B (en) Webpage display method, device, terminal and storage medium
CN104346075A (en) Method for processing screenshots and client
CN110489312A (en) Data correlation method and device for control trigger data acquisition
CN106408628B (en) A kind of image processing method and device
JP2020067977A (en) Information processing apparatus and program
CN106599257B (en) Method for realizing page shortcut and electronic equipment
CN104793844A (en) Plug-in management method and device based on mobile terminal
CN106528080B (en) A kind of laying method and mobile terminal of the application icon of mobile terminal
CN110781644A (en) File preview method, equipment and computer storage medium
CN113434122A (en) Multi-role page creation method and device, server and readable storage medium
CN114253536A (en) Calling method of interface design component, terminal device and readable storage medium
US11461129B2 (en) Data processing method, terminal and storage medium
CN111181836A (en) Message pushing method and device
CN112835494A (en) Voice recognition result error correction method and device
US20240152339A1 (en) Software widget installation on a client device

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
GR01 Patent grant
GR01 Patent grant