We are developing an integrated version control system for a large enterprise application. When users change something to the underlying data in the system they do so through a "Work Item"
This is implemented a lot like a version control system for code: when a user starts working on a work item we branch off the underlying data to isolate those changes from the main system. After the user is finished those changes need to be merged back into the main system.
This work item can get tricky with synchronization and committing changes. I'm concerned about what mental model the users may build up about work items and how to present the idea of merge conflicts or failing tests that kicked off automatically in the background on a commit.
Does anyone know of examples of version control systems aimed at non-programmers that abstracts the details away and yet provides the flexibility and robustness ?
Or do you know something about mental models for version control systems?