Project-based configuration management method and apparatus
First Claim
1. A method, performed by a configuration management system, for tracking changes to a configuration of a project having multiple files, the method comprising:
- tracking property information for properties that are modified in a first configuration of a software project;
pre-computing relational information that describes relationships between a second configuration and the first configuration; and
reconstructing a version of the second configuration by reusing the property information from the configuration wherein pre-computing the relational information comprises;
identifying the first configuration as a configuration upon which the second configuration is based; and
determining which changes along a history line for the first configuration are incorporated into the second configuration.
1 Assignment
0 Petitions
Accused Products
Abstract
A configuration management system creates (602) each configuration by assigning a configuration identifier to each configuration. In addition, relational information is computed (706) that indicates the relationships between the configuration and any configurations upon which it is based. The system then tracks (604) changes to files of the configuration by storing information associating each new file version with the configuration identifier. The system also tracks (1210) changes to file properties. A configuration is then reconstructed (608) as of a desired date, by identifying (2104, 2106) the file versions and properties associated with that configuration as of the desired date. A determination is made (2110) whether a user that has requested the file versions has access privileges by first checking a security cache (2600) for the user privileges information. If the information is not on the cache, it is computed from a security table (2800) and stored on the cache. The system automatically compresses (3118) and reconstitutes (3006) file versions that are stored in the version store.
-
Citations
12 Claims
-
1. A method, performed by a configuration management system, for tracking changes to a configuration of a project having multiple files, the method comprising:
-
tracking property information for properties that are modified in a first configuration of a software project; pre-computing relational information that describes relationships between a second configuration and the first configuration; and reconstructing a version of the second configuration by reusing the property information from the configuration wherein pre-computing the relational information comprises; identifying the first configuration as a configuration upon which the second configuration is based; and determining which changes along a history line for the first configuration are incorporated into the second configuration. - View Dependent Claims (2, 3)
-
-
4. A method, performed by a configuration management system for tracking changes to a configuration of a project having multiple files, the method comprising:
-
determining that a change has been made to a property of a file that is associated with the configuration; storing historical information describing the change, wherein the historical information includes a property identifier that identifies the property, a value of the property, and a file identifier that identifies the file; and reconstructing the configuration as of a desired date by determining a set of properties and property values that applied to the configuration based on a configuration identifier and the historical information. - View Dependent Claims (5, 6, 7, 8)
-
-
9. A method, performed by a configuration management system, for incorporating changes made to files of a first configuration of a project into files of a second configuration of the project, where the second configuration is related to the first configuration, the method comprising:
-
storing relational information describing a relationship between the files of the first configuration and the files of the second configuration; tracking new changes to the files of the first configuration; receiving a request to incorporate the new changes into the second configuration; and modifying the relational information to reflect a new relationship between the files of the first configuration and the files of the second configuration, wherein the new relationship includes information reflecting incorporation of the new changes into the second configuration; determining merge-related information which indicates prior file operations that might affect how the files of the first configuration are incorporated into the files of the second configuration; and incorporating the changes to the files of the first configuration into the files of the second configuration using the merge-related information. - View Dependent Claims (10, 11, 12)
-
Specification