Software merging utility
AssigneeJuniper Networks, Inc.
InventorsMarlene Cote, Philip S. Kasten, Edward A. Heiner, Jr., Eric L. Peterson
Life of this patent
Estimating the term…
Abstract
A method and system merging a file across multiple versions of the file is provided. A file check-in request is identified. A merge candidate associated with the file is automatically identified. A view associated with the identified merge candidate is automatically identified. The file is merged with the merge candidate in the view, resulting in a merge result.
Claims20
An automated method, comprising:
- storing, by a computer device, data associated with a version tree representing relationships between multiple versions of a file, the version tree including a plurality of branches, where the version tree includes a listing of merge-from branches to merge-to branches and where each of the merge-from and merge-to branches are associated with a same file;
- identifying, by the computer device, a file check-in request associated with a first version of the file;
- in response to identifying the file check-in request, automatically identifying, by the computer device, a merge candidate associated with the first version of the file, where identifying the merge candidate includes:
- determining a first portion in the version tree associated with the first version of the file, and
- selecting one of the multiple versions based on the first portion of the version tree, where a second portion of the version tree is associated with the merge candidate;
- merging, by a computer device, a portion of the first version of the file with a portion of the merge candidate, resulting in a merge result;
- and
- storing, by the computer device, the merge result.
A device , comprising:
- a file repository to store a first data structure including merge relationships between more than one version of a file in the file repository, where the first data structure includes a version tree representing the relationships between the more than one version of the file, the version tree including a plurality of branches, where the version tree includes a listing of merge-from branches to merge-to branches and where each of the merge-from and merge-to branches are associated with a same file;
- and
- a processor to:
- identify a first version of the file,
- select a second version of the file based on the merge relationship in the version tree between the second version of the file to the first version of the file, and
- automatically initiate merging of the first version of a file with the second version of the file in a versioning system based on the merge relationships maintained in the first data structure,
- where the versioning system maintains the more than one version of the file, including the first version and the second version.
One or more physical memory devices containing programming instructions that when executed by a computing device cause the computing device to:
- identify a request to check-in a first version of a file;
- automatically identify merge candidates associated with the first version of the file based on a stored listing of merge candidate relationships, where the stored listing of the merge candidate relationships includes a version tree representing relationships between multiple versions of the file, the version tree including a plurality of branches, where the version tree includes a listing of merge-from branches to merge-to branches and where each of the merge-from and merge-to branches are associated with a same file, and where automatically identifying the merge candidates includes:
- determining a first portion in the version tree associated with the first version of the file, and
- selecting others of the multiple versions based on the first portion of the version tree, where a second portion of the version tree is associated with each of the merge candidates;
- and
- merge the first version of the file with the identified merge candidates to produce merge results for each merge candidate.
Dependencies are inferred from the claim text.