Method and system for using virtual labels in a software configuration management system
First Claim
1. A computer source code version control apparatus comprising:
- a computer system having a processor, a memory, a program in the memory, a display screen and an input/output unit; and
a middleware mechanism residing in the computer system and configured to use a virtual label which comprises instances of a label type object and attributes associated with the label type object which can be used to identify a version object which is related to the label type object, the version object being located in a configuration management system;
wherein the associated attributes include, a value representing a time of a last change on a branch with which an instance is associated, wherein the branch is associated with at least a portion of a specific version of source code from which the branch is derived and represents a sequence of revisions to the portion;
wherein the instance is associated with a plurality of versions of the portion of the source code.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention provides a solution to the needs described in the present application through a system and method of using Virtual Labels in conjunction with an existing software configuration management system. The present invention minimizes the identification or meta-data which needs to be written to a source database or source repository whenever a label for a new version of source code needs to be created thereby minimizing the file storage requirements and the network bandwidth for the transmission of replications of the label. The virtual label system makes use of attribute data connected to a label object to record identification meta-data associated with a particular snap-shot of the source code, whereby the attribute data is subsequently used for program builds/releases/new branch development without the need to have the meta-data recorded in every component source file.
166 Citations
31 Claims
-
1. A computer source code version control apparatus comprising:
-
a computer system having a processor, a memory, a program in the memory, a display screen and an input/output unit; and
a middleware mechanism residing in the computer system and configured to use a virtual label which comprises instances of a label type object and attributes associated with the label type object which can be used to identify a version object which is related to the label type object, the version object being located in a configuration management system;
wherein the associated attributes include, a value representing a time of a last change on a branch with which an instance is associated, wherein the branch is associated with at least a portion of a specific version of source code from which the branch is derived and represents a sequence of revisions to the portion;
wherein the instance is associated with a plurality of versions of the portion of the source code. - View Dependent Claims (2, 3, 4, 5, 6, 7)
a label associated with the version of the source code from which the branch is derived; and
an identifier of the branch.
-
-
4. The apparatus of claim 1 wherein the middleware mechanism further comprises logic mechanisms to generate and store virtual labels.
-
5. The apparatus of claim 1 wherein the middleware mechanism further comprises logic mechanisms to create configuration specifications using virtual labels.
-
6. The apparatus of claim 1 wherein the middleware mechanism further comprises logic mechanisms to generate branch pulls using virtual labels.
-
7. The apparatus of claim 1 wherein the attributes comprise view parameters and wherein the middleware mechanism further comprises logic mechanisms to create views using virtual labels.
-
8. A method for using virtual labels in a software configuration management system having databases of source code whereby resources of memory and communications bandwidth are reduced by virtue of using the virtual labels instead of physical labels, wherein the virtual labels comprise instances label type object, the method comprising the steps of:
-
creating a label type object when it is desired to put a label on versions of source code elements; and
storing view parameters as attributes of the label type object;
wherein the attributes of the label type object include, a value representing a time of a last change on a branch with which an instance of the label type object is associated, wherein the branch is associated with at least a portion of a specific version of source code from which the branch is derived and represents a sequence of revisions to the portion;
wherein the instance is associated with a plurality of versions of the portion of the source code. - View Dependent Claims (9, 10, 11, 12, 13)
a label associated with the version of the source code from which the branch is derived; and
an identifier of the branch.
-
-
10. The method in claim 9 comprising the additional step of using the virtual labels to create configuration specifications.
-
11. The method in claim 9 comprising the additional step of using the virtual labels to generate branch pulls.
-
12. The method in claim 9, wherein the attributes comprise view parameters and the method comprises the additional step of using the virtual labels to create a view.
-
13. The method of claim 9 wherein the virtual labels are used in conjunction with a Rational™
- ClearCase™
Software Configuration Management system.
- ClearCase™
-
14. A computer program product embodied on a computer readable medium for using virtual labels in a software configuration management system having large databases of source code whereby resources of memory and communications bandwidth are reduced by virtue of using the virtual labels instead of physical labels, wherein the virtual labels comprise instances of a label type object, comprising:
-
a. a logic component configured to create a label type object when it is desired to put a label on versions of source code elements; and
b. a logic component configured to store view parameters as attributes of the label type object, wherein the view parameters comprise;
a value representing a time of a last change on a branch with which an instance of the label type object is associated, wherein the branch is associated with at least a portion of a specific version of the source code from which the branch is derived and represents a sequence of revisions to the portion;
wherein the instance is associated with a plurality of versions of the portion of the source code. - View Dependent Claims (15, 16, 17)
-
-
18. A computer program product embodied on a computer readable carrier wave for using virtual labels in a software configuration management system having databases of source code whereby resources of memory and communications bandwidth are reduced by virtue of using the virtual labels instead of physical labels, wherein the virtual labels comprise instances of a label type object, comprising:
-
a logic component configured to create a label type object when it is desired to put a label on versions of source code elements; and
a logic component configured to store as attributes of the label type object, a value representing a time of a last change on a branch with which an instance of the label type object is associated, wherein the branch is associated with at least a portion of a specific version of the source code from which the branch is derived and represents a sequence of revisions to the portion; and
wherein the instance is associated with a plurality of versions of the portion of the source code. - View Dependent Claims (19, 20, 21)
-
-
22. A computer program product for using virtual labels in a software configuration management system having databases of source code whereby resources of memory and communications bandwidth are reduced by virtue of using the virtual labels instead of physical labels, wherein the virtual labels comprise instances of a label type object, comprising:
-
a logic component configured to create a label type object when it is desired to put a label on versions of source code elements; and
a logic component configured to store view parameters as attributes of the label type object, wherein the view parameters comprise;
a value representing a time of a last change on a branch with which an instance of the label type object is associated, wherein the branch is associated with at least a portion of a specific version of the source code from which the branch is derived and represents a sequence of revisions to the portion;
wherein the instance is associated with a plurality of versions of the portion of the source code. - View Dependent Claims (23, 24, 25)
-
-
26. A system for using virtual labels in a software configuration management system having databases of source code whereby resources of memory and communications bandwidth are reduced by virtue of using the virtual labels instead of physical labels, wherein the virtual labels comprise instances of a label type object, the system comprising:
-
means for creating a label type object when it is desired to put a label on versions of source code elements; and
means for storing view parameters as attributes of the label type object;
wherein the attributes of the label type object include, a value representing a time of a last change on a branch with which an instance of the label type object is associated, wherein the branch is associated with at least a portion of a specific version of source code from which the branch is derived and represents a sequence of revisions to the portion;
wherein the instance is associated with a plurality of versions of the portion of the source code. - View Dependent Claims (27, 28, 29, 30, 31)
a label associated with the version of the source code from which the branch is derived; and
an identifier of the branch.
-
-
28. The system of claim 27 comprising means for using the virtual labels in conjunction with a Rational™
- ClearCase™
Software Configuration Management system.
- ClearCase™
-
29. The system of claim 27 comprising means for using the virtual labels to create configuration specifications.
-
30. The system of claim 27 comprising means for using the virtual labels to generate branch pulls.
-
31. The system of claim 27, wherein the attributes comprise view parameters and the system comprises means for using the virtual labels to create a view.
Specification