Are there any recommended approaches for implementing version control functionality accessible to end users of a business application?
The goal is to create a robust version control system for an application where users modify business objects (rather than text).
I'm not looking for recommendations on version control software for developers (e.g. SVN, Git, etc.), but rather libraries or best practices for exposing version control to end users.
Ideally, I would like to allow concurrent editing with write locking, an undo-redo system (or local commits and reverts), etc.
Has anyone attempted something like this? Are there any (.NET) libraries that would help with this?