Patent ID: 7076778

Claim:
A computer-implemented method of upgrading a software application by merging two modified versions of a common ancestor version, the method comprising: receiving indications of a first modified version of the common ancestor version and of a distinct second modified version of the common ancestor version; and without user intervention, automatically creating a new version of the software application by merging the first and second modified versions, by automatically collecting object definitions from an ancestor repository associated with the common ancestor version, from a first repository associated with the first modified version, and from a second repository associated with the second modified version; identifying a first set of modified objects in the first modified version by comparing against attributes of corresponding objects in the common ancestor version based on the object definitions; identifying a second set of modified objects in the second modified version by comparing against attributes of corresponding objects in the common ancestor version based on the object definitions; determining which of the identified modified objects in the first set of modified objects are compatible with the second modified version; and creating the new version of the software application by merging the compatible modified objects with the second modified version.