Patent EP0339901A2 successfully refreshed from Google Patents.
EP0339901A2
Expired / Lapsed
EP
⏱️ 0.0 years remaining
Improved version management tool
Assignee: Tandem Computers Inc
•
Filing: 1989-04-24
•
Granted: —
•
Expires: 2009-04-24
Abstract
Abstract A system for preserving, generating, and merging different versions of a common module that utilizes a line file storing the text of every line in a version and addressing each line with a unique line identifier. Any desired version may be generated directly without creating intermediate versions. The unique line identifiers facilitate a merge operation that does not duplicate lines.
Inventors
- 👤 Christopher Russell Sheedy
- 👤 Stephanie Lee Kinoshita
Bibliographic Details
Application Number
—
Jurisdiction
EP
Data Source
google_patents
Last Synchronized
2026-10-31 16:47
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/70; G06F8/71; Y; Y10; Y10S; Y10S707/00; Y10S707/99951; Y10S707/99952; Y10S707/99954
Claims Analysis
Total Claims: 18
Claim 1
Independent Claim
72 words
A method for directly creating the text file of a desired version of a stored module, with the version included in a development path including several versions, said method comprising the steps of: storing the text of all lines active in the several versions in the path in an indexed line file; and retrieving only those lines active in the desired version from the line file for inclusion in the text file.
Claim 2
Independent Claim
72 words
A method for directly creating the text file of a desired version of a stored module, with the version included in a development path including several versions, said method comprising the steps of: storing the text of all lines active in the several versions in the path in an indexed line file; and retrieving only those lines active in the desired version from the line file for inclusion in the text file.
Claim 3
Independent Claim
200 words
A method for storing a desired version of a module, where the desired version is included in a given one of many possible paths, with each path including an ordered set of versions of a common module, with each version identified by a version number, with each version in a path evolving from the immediately preceding version, and where the status history of the activation and deletions of each line in a path are stored in a variant history file for the path, said method comprising the steps of: storing the text of all lines active in all versions in all paths in an indexed line file; identifying each line in said indexed line file by a unique line identifier (ULI); and storing a set of records, in the variant history file for the given path, for each ULI identifying a line active in any version in the given path, with each record in a set indicating one of the version numbers of the versions in a given path where the line identified by the ULI becomes active, or one of the version numbers of the versions in the given path where the line identified by the ULI is deleted.
Claim 4
Independent Claim
200 words
A method for storing a desired version of a module, where the desired version is included in a given one of many possible paths, with each path including an ordered set of versions of a common module, with each version identified by a version number, with each version in a path evolving from the immediately preceding version, and where the status history of the activation and deletions of each line in a path are stored in a variant history file for the path, said method comprising the steps of: storing the text of all lines active in all versions in all paths in an indexed line file; identifying each line in said indexed line file by a unique line identifier (ULI); and storing a set of records, in the variant history file for the given path, for each ULI identifying a line active in any version in the given path, with each record in a set indicating one of the version numbers of the versions in a given path where the line identified by the ULI becomes active, or one of the version numbers of the versions in the given path where the line identified by the ULI is deleted.
Claim 5
Independent Claim
195 words
A method for creating a text file of a desired version of a module, where the desired version is included in a given one of many possible paths, with each path including an ordered set of versions, each identified by a version number, of a common module, with each version in a path evolving from the immediately preceding version, and where the status history of the activation and deletions of each line active in any version in a path are stored in a variant history file for the path, and where the text of the lines active in all versions in all paths are stored in an indexed line file with each line in the indexed line file identified by a unique line identifier (ULI), said method comprising the steps of: identifying the given path in which the desired version is included and the version number of the desired version in said given path; searching the variant history file of the given path to determine which lines in the line file are active in the desired version; and retrieving, from said line file, the text of lines determined to be active in the desired version.
Claim 6
Independent Claim
195 words
A method for creating a text file of a desired version of a module, where the desired version is included in a given one of many possible paths, with each path including an ordered set of versions, each identified by a version number, of a common module, with each version in a path evolving from the immediately preceding version, and where the status history of the activation and deletions of each line active in any version in a path are stored in a variant history file for the path, and where the text of the lines active in all versions in all paths are stored in an indexed line file with each line in the indexed line file identified by a unique line identifier (ULI), said method comprising the steps of: identifying the given path in which the desired version is included and the version number of the desired version in said given path; searching the variant history file of the given path to determine which lines in the line file are active in the desired version; and retrieving, from said line file, the text of lines determined to be active in the desired version.
Claim 7
Dependent Claim
332 words
The invention of claim 3 wherein: the variant history file of the given path includes a set of records associated with each ULI identifying a line active in any version in the given path, with each record in a set indicating one of the version numbers of the versions in a given path where the line identified by the associated ULI becomes active, or one of the version numbers of the versions in the given path where the line identified by the associated ULI is deleted; with the records in said variant history file ordered so that the record indicating a version number of a first given version, in which a given line becomes active, immediately precedes the record indicating the version number of a second given version in which said given line is deleted, and where the records of lines made active in the second given version immediately follow the last record indicating a line is deleted in the second given version, and wherein said step of searching comprises: reading an adjacent pair of preceding and following records in said variant history file; determining whether the ULIs in said adjacent pair of records are the same; if the ULIs are the same, including the identified line in the desired version only if the version number indicated by said following record is greater than the version number of said desired version, if the version number indicated by the preceding record in the pair is less than or equal to the version number of the desired version, and if the status of the identified line indicated by the preceding record in the pair is active; and if the ULIs are different, including the identified line in the desired version only if the version number indicated by said preceding record in the pair is less than or equal to the version number of the desired version and if the status of the identified line indicated by the preceding record in the pair is active.
Claim 8
Dependent Claim
46 words
The invention of claim 4 wherein: the records of lines made active in the second given version immediately follow the last record indicating the status of the ULI for the line which, in the text file, immediately preceded the line made active in the second version.
Claim 9
Dependent Claim
332 words
The invention of claim 3 wherein: the variant history file of the given path includes a set of records associated with each ULI identifying a line active in any version in the given path, with each record in a set indicating one of the version numbers of the versions in a given path where the line identified by the associated ULI becomes active, or one of the version numbers of the versions in the given path where the line identified by the associated ULI is deleted; and wherein said step of searching comprises the steps of: ordering the records in said variant history file so that the record indicating a version number of a first given version, in which a given line becomes active, immediately precedes the record indicating the version number of a second given version in which said given line is deleted, and where the records of lines made active in the second given version immediately follow the last record indicating a line is deleted in the second given version; reading an adjacent pair of preceding and following records in said variant history file; determining whether the ULIs in said adjacent pair of records are the same; if the ULIs are the same, including the identified line in the desired version if the version number indicated by said following record is greater than the version number of said desired version, if the version number indicated by the preceding record in the pair is less than or equal to the version number of the desired version, and if the status of the identified line indicated by the preceding record in the pair is active; and if the ULIs are different, including the identified line in the desired version if the version number indicated by said preceding record in the pair is less than or equal to the version number of the desired version and if the status of the identified line indicated by the preceding record in the pair is active.
Claim 10
Dependent Claim
635 words
In a version control system which stores several versions of a module, where each version is included in one of many possible paths, with each path including an ordered set of versions, each identified by a version number, of a common module, with each version in a path evolving from the immediately preceding version, with a unique change tag associated with the operation of creating a given version, where the text of all lines active in all versions along all paths of the module are stored in an indexed line file and identified by a unique line identifier (ULI), with each ULI including a tag field identifying a version and an index field, and where the status history of the activation and deletions of each line in a path are stored in a variant history file for the path, with each record in the variant history file including a ULI, a version number identifying a version in the path, and a status flag having a value indicating that the line identified by the ULI becomes active, is replaced, or is deleted in the identified version, a method for building a resulting variant history file for a TO path to reflect the merge of a selected version in a FROM path into a TO version, which is the last version in the TO path, to form a resulting version in the TO path, said method comprising the steps of: providing a TO path variant history file and a FROM path variant history file; building a TO change list for said TO version; building a FROM change list for the selected version in the FROM path; building a common list of the change tags included in both said FROM change list and said TO change list; writing, in the resulting variant history file, a first set of TO variant history records, with the first set consisting of only those TO variant history records that include ULIs with change tags included in said TO change list but not included in said common list; identifying a second set of FROM variant history records, with said second set consisting of only those FROM variant history records that include ULIs with change tags in said FROM change list but not included in any record in said TO change list or said common list, and, for each of those ULIs, only the FROM variant history record having the greatest version number that is less than or equal to the version number of the selected version in the FROM path; modifying said second set of FROM variant history records so that the version number in each record is equal to the version number of the resulting version in the TO path; writing, to the resulting variant history file, said modified second set of FROM variant history records; writing, to the resulting variant history file, a third set of TO variant history records, with said third set consisting of only those TO records that include ULIs in said common list and that are included in a record in the TO variant history file and the FROM variant history file; and generating a fourth set of resulting variant history records, with each record in said fourth set associated with a selected one of the records in said third set and including the same ULI as the associated record, with the selection of a given selected record from said third set and the assignment of the value of the status flag in the fourth set record associated with the given selected record determined by the values of the version numbers and status flags of records in the FROM and TO variant history files that have the same ULI as the given selected third set record and by a predetermined set of rules applied to those values.
Claim 11
Dependent Claim
635 words
In a version control system which stores several versions of a module, where each version is included in one of many possible paths, with each path including an ordered set of versions, each identified by a version number, of a common module, with each version in a path evolving from the immediately preceding version, with a unique change tag associated with the operation of creating a given version, where the text of all lines active in all versions along all paths of the module are stored in an indexed line file and identified by a unique line identifier (ULI), with each ULI including a tag field identifying a version and an index field, and where the status history of the activation and deletions of each line in a path are stored in a variant history file for the path, with each record in the variant history file including a ULI, a version number identifying a version in the path, and a status flag having a value indicating that the line identified by the ULI becomes active, is replaced, or is deleted in the identified version, a method for building a resulting variant history file for a TO path to reflect the merge of a selected version in a FROM path into a TO version, which is the last version in the TO path, to form a resulting version in the TO path, said method comprising the steps of: providing a TO path variant history file and a FROM path variant history file; building a TO change list for said TO version; building a FROM change list for the selected version in the FROM path; building a common list of the change tags included in both said FROM change list and said TO change list; writing, in the resulting variant history file, a first set of TO variant history records, with the first set consisting of only those TO variant history records that include ULIs with change tags included in said TO change list but not included in said common list; identifying a second set of FROM variant history records, with said second set consisting of only those FROM variant history records that include ULIs with change tags in said FROM change list but not included in any record in said TO change list or said common list, and, for each of those ULIs, only the FROM variant history record having the greatest version number that is less than or equal to the version number of the selected version in the FROM path; modifying said second set of FROM variant history records so that the version number in each record is equal to the version number of the resulting version in the TO path; writing, to the resulting variant history file, said modified second set of FROM variant history records; writing, to the resulting variant history file, a third set of TO variant history records, with said third set consisting of only those TO records that include ULIs in said common list and that are included in a record in the TO variant history file and the FROM variant history file; and generating a fourth set of resulting variant history records, with each record in said fourth set associated with a selected one of the records in said third set and including the same ULI as the associated record, with the selection of a given selected record from said third set and the assignment of the value of the status flag in the fourth set record associated with the given selected record determined by the values of the version numbers and status flags of records in the FROM and TO variant history files that have the same ULI as the given selected third set record and by a predetermined set of rules applied to those values.
Claim 12
Dependent Claim
217 words
In a version control system which stores several versions of a module, where each version is included in one of many possible paths, with each path including an ordered set of versions, each identified by a version number, of a common module, with each version in a path evolving from the immediately preceding version, with a unique change tag associated with the operation of creating each version, where the text of all lines active in all versions along all paths of the module are stored in an indexed line file and identified by a unique line identifier (ULI), with each ULI including a change tag and an index field, a method for merging a selected version in a FROM path into a TO version, which is the last version in the TO path, to form the text file of a resulting version in the TO path, said method comprising the steps of: building a common list of change tags included in ULIs identifying lines that have been active in both the TO and FROM paths; including, in the text file of the resulting version, lines identified by ULIs having change tags in said common list according to the status, in the TO and FROM versions, of the lines identified and according to a set of predetermined rules.
Claim 13
Dependent Claim
217 words
In a version control system which stores several versions of a module, where each version is included in one of many possible paths, with each path including an ordered set of versions, each identified by a version number, of a common module, with each version in a path evolving from the immediately preceding version, with a unique change tag associated with the operation of creating each version, where the text of all lines active in all versions along all paths of the module are stored in an indexed line file and identified by a unique line identifier (ULI), with each ULI including a change tag and an index field, a method for merging a selected version in a FROM path into a TO version, which is the last version in the TO path, to form the text file of a resulting version in the TO path, said method comprising the steps of: building a common list of change tags included in ULIs identifying lines that have been active in both the TO and FROM paths; including, in the text file of the resulting version, lines identified by ULIs having change tags in said common list according to the status, in the TO and FROM versions, of the lines identified and according to a set of predetermined rules.
Claim 14
Dependent Claim
198 words
A computer, including a memory, operating under control of a stored program for allowing a user to store a source file module, to create and store new versions of the module, to create and name independent paths of development of the module, with each path being an ordered set of versions, wherein the improvement comprises: means for building an indexed line file, stored in the memory, including the text of all lines active in all versions in all paths, with each line in said indexed line file identified by a unique line identifier (ULI); means for building a variant history file, stored in the memory, including a set of records associated with each ULI identifying a line included in any version along a given path, where each record in a given set of records associated with a given ULI indicates a version in the given path where the line identified by the ULI became active or a version in the given path where the ULI was deleted; and means for utilizing said variant history file and indexed line file to directly generate the text file of a desired version in said given path without creating any intermediate versions.
Claim 15
Dependent Claim
198 words
A computer, including a memory, operating under control of a stored program for allowing a user to store a source file module, to create and store new versions of the module, to create and name independent paths of development of the module, with each path being an ordered set of versions, wherein the improvement comprises: means for building an indexed line file, stored in the memory, including the text of all lines active in all versions in all paths, with each line in said indexed line file identified by a unique line identifier (ULI); means for building a variant history file, stored in the memory, including a set of records associated with each ULI identifying a line included in any version along a given path, where each record in a given set of records associated with a given ULI indicates a version in the given path where the line identified by the ULI became active or a version in the given path where the ULI was deleted; and means for utilizing said variant history file and indexed line file to directly generate the text file of a desired version in said given path without creating any intermediate versions.
Claim 16
Dependent Claim
193 words
A computer, including a memory, operating under control of a stored program for allowing a user to store a source file module, to create and store new versions of the module, to create and name independent paths of development of the module, with each path being an ordered set of versions, and with the versions in the path identified by version numbers, and for building, in the memory, an indexed line file, including the text of all lines active in all versions along all paths of the module, and a variant history file for given path, wherein the improvement comprises: said indexed line file has a unique line identifier associated with each line in the line file; and said variant history file includes an ordered set of records, with each record including a unique line identifier, associated with a line active in one of the versions in the given path, and indicating one of the version numbers in the given path where the line identified by the unique line identifier became active or one of the version numbers in the given path where the line identified by the unique line identifier was deleted.
Claim 17
Dependent Claim
193 words
A computer, including a memory, operating under control of a stored program for allowing a user to store a source file module, to create and store new versions of the module, to create and name independent paths of development of the module, with each path being an ordered set of versions, and with the versions in the path identified by version numbers, and for building, in the memory, an indexed line file, including the text of all lines active in all versions along all paths of the module, and a variant history file for given path, wherein the improvement comprises: said indexed line file has a unique line identifier associated with each line in the line file; and said variant history file includes an ordered set of records, with each record including a unique line identifier, associated with a line active in one of the versions in the given path, and indicating one of the version numbers in the given path where the line identified by the unique line identifier became active or one of the version numbers in the given path where the line identified by the unique line identifier was deleted.
Claim 18
Dependent Claim
130 words
The computer of claim 10 also for generating a change tag associated with the operation of creating a new version, wherein the improvement further comprises: each unique line identifier includes the change tag associated with the operation of creating the version where the line identified by the unique line identifier first became active; and said variant history file has its records ordered so that the record indicating a version number of a first given version, in which a given line becomes active, immediately precedes the record indicating the version number of a second given version in which said given line is deleted, and where the records of lines made active in the second given version immediately follow the last record indicating a line is deleted in the second given version.
References Cited (Backward Citations)
No citation records indexed.
USPTO Annuity & Maintenance Windows
Maintenance schedule is calculated for granted US utility patents.