The team working plug-in enables Event-B models to be stored in a repository (e.g. SVN). Models can be compared with versions in the repository and differences can be merged back into the local version. This relies on the Event-B EMF framework and serialisation into an XMI copy of the model (Rodin files can not be shared directly into SVN).
- In Help-Install new software Add the subclipse update site: http://subclipse.tigris.org/update_1.6.x
- Install (from this update site)
- subversion client adapter
- SVNKit client adapter
- (you can install other items but if you install the Java HL client adapter it may not work for models and you may need to change the preferences to SVNKit)
- Install Team-working feature from the main Rodin update site (in Utilities category).
- Uncheck the Navigator filter - i.e. select the down triangle, customise view, untick All files and folders. (Alternatively, open a resource based navigator such as Navigator or Project Explorer)
- right click on a rodin project and select team - share project, share the project into a suitable SVN repository.
- make sure you have at least one Machine or Context in the project
- commit the shared project (note that no model/proof files should appear for commit at this stage)
- a folder team should appear in the project. This contains synchronised copies of your Machines and Contexts that can be committed into SVN
- The following operations that can be performed on the xmb files in the team folder:
- Compare With - Latest from Repository. You should see a model structured comparison editor
- you may merge changes from the SVN copy to the local copy (but not the other way around)
- Edit directly with an EMF based editor such as Rose
- (Any changes to these files are automatically reflected into the corresponding machine or context)
- You can also Import Rodin projects from an SVN repository.
Currently the EMF compare editor does not work with the team-synchronise with repository view.
The Team-working feature configures SVN to ignore the main Rodin files. However, some new extensions may not be known to the plug-in. If the project is marked with changes after you have committed all the changes in the team folder, open the Team-synchronise view to see the files that are being recognised by SVN as having uncommitted changes. Then open Preferences-Team-Ignored Resources and add a pattern to exclude this file type.