Content repositories and content graphs in the Twinfox Platform offer merge and rebase functionality similar to such abilities with software code repositories, but adapted for content graph processing.
Rebase changes from another content graph
The rebase operation is the conceptually simpler operation. It will replay all changes since the last common historical version of the content graphs (also known as branches). The changes pulled from the other branch get replayed onto the current content graph history.
Both model and instance information will be replayed, in contrast with the merge operation that only operates on content/instance information.
Merge content from another content graph
Content graphs in the Twinfox Platform can be compared with other content graphs or immutable layers in the platform, as long as there is a common ancestor in the version history. The changes get analyzed by the engine and if a merge is possible with the current content graph model, the merge will be applied.
A challenge with merging is to manage model changes between versions of the branch and such model changes need to be carefully managed. If merge operations are important for the use case, and model changes are inevitable, it can be worthwhile to explore model migrations and the diff operations to manually process merges. Such manual merge is currently not supported by the user interface of the platform and only offered using the APIs.