Changeset conflict rebasing
AssigneeBentley Systems, Incorporated
InventorsSamuel W. Wilson, Keith A. Bentley
Life of this patent
Estimating the term…
Abstract
In example embodiments, techniques are provided to implement changeset conflict rebasing when performing conflict-detection and merging in an infrastructure modeling software architecture that uses an optimistic concurrency policy. Changeset conflict rebasing involves adjusting the pre-change values in a local changeset so they match post-change values of a remote version, rather an original base version, or removing changes from the local changeset entirely.
Claims15
A method of changing a property of an object, and detecting and merging conflicts in an infrastructure modeling software architecture, comprising:
- changing, by a client executing on a client device, a property of an object of an infrastructure model to create a local version including a change;
- pulling a remote version of the property from a repository;
- detecting a conflict between the remote version and the local version;
- reconciling the conflict to create an updated local version;
- generating, at a given point in time, a local changeset for the updated local version, the local changeset including a pre-change value and a post-change value, the pre-change value in the local changeset representing an original value of the property of the object at the client before the change, and the post-change value in the local changeset representing a new value of the property of the object at the client;
- and
- rebasing the generated local changeset by adjusting the pre-change value in the local changeset to match a post-change value of the remote version while maintaining unchanged the post-change value in the local changeset, to thereby produce a rebased local changeset.
A non-transitory electronic device readable medium having instructions that when executed on one or more processors of one or more electronic devices are operable to:
- change a property of an object of an infrastructure model to create a local version including a change;
- pull a remote version of the property from a repository;
- detect a conflict between the remote version and the local version;
- reconcile the conflict to create an updated local version;
- generate, at a given point in time, a local changeset for the updated local version, the local changeset including a pre-change value and a post-change value, the pre-change value in the local changeset representing an original value of the property of the object before the change to the property of the object, and the post-change value in the local changeset representing a new value of the property of the object;
- and
- rebase the generated local changeset by adjusting the pre-change value in the local changeset to match a post-change value of the remote version while maintaining unchanged the post-changed value in the local changeset, to thereby produce a rebased local changeset.
A computing device comprising:
- a processor;
- and
- a memory coupled to the processor and configured to store a client that is executable on the processor having a user interface for interacting with infrastructure models, the client when executed operable to:
- pull a base version of an infrastructure model from a cloud-based repository,
- in response to user input received in the user interface, change a property of an object of the infrastructure model to create a local version including a change,
- pull a remote version of the property from the repository,
- detect a conflict between the remote version and the local version,
- reconcile the conflict between the local version and the remote version to create an updated local version,
- generate, at a given point in time, a local changeset for the updated local version, the local changeset including a pre-change value and a post-change value, the pre-change value in the local changeset representing an original value of the property of the object before the change to the property of the object, and the post-change value in the local changeset representing a new value of the property of the object, and
- rebase the generated local changeset by adjusting the pre-change value in the local changeset to match a post-change value of the remote version while maintaining unchanged the post-changed value in the local changeset, to thereby produce a rebased local changeset.
A method of changing a property of an object, and detecting and merging conflicts in an infrastructure modeling software architecture, comprising:
- updating, by a client executing on a client device, a property of an object of an infrastructure model to create a local version including a change;
- detecting a conflict between a remote version of the property and the local version;
- reconciling the conflict between the local version of the property and the remote version by rejecting the remote version in favor of retaining the local version;
- generating a local changeset for the local version that includes a pre-change value of the property of the object and a post-change value of the property of the object, the pre-change value in the local changeset representing an original value of the property of the object at the client before the updating the property of the object, and the post-change value in the local changeset representing a new value of the property of the object at the client;
- and
- rebasing the generated local changeset by adjusting the pre-change value of the property of the object in the local changeset to match a post-change value of the remote version while maintaining unchanged the post-changed value in the local changeset, to thereby produce a rebased local changeset.
Dependencies are inferred from the claim text.