Use this Software Development Kit (SDK) to develop an integration from your source control tool to MATLAB and Simulink, using Java. Creating an integration will let you access functionality of your source control tool directly from Simulink Projects, as well as from the MATLAB Current Folder tool.
This SDK contains
• the documentation for the MathWorks Source Control integration API, which is written in Java
• a worked example using command-line Subversion
• a test suite that you can use to confirm the behavior of your new integration
Note that integration with Git and Subversion (SVN) is built into MATLAB directly and does not require any additional work.
MathWorks provides an API to allow connectivity between MATLAB & Simulink to source control tools. The aim of this API is to allow a subset of the full functionality of a source control tool to be available from MathWorks tools, like a Simulink Project. This enables an engineer to perform basic source control tasks within the context of their design tool, without switching to their source control tool, such as reviewing changes, performing commits, as well as more advanced operations such as merging in changes from colleagues.
The aim of integration between MathWorks tools and a source control tool is not to replicate all functionality of the source control tool within a different tool. A “best practice” source control integration is the opposite: it uses existing APIs to expose just enough source control information and operations to meet the following engineer-driven needs:
1. Provide relevant source control information within MathWorks tools. For example, display if a file is modified, or its revision number. This can be used in GUIs to support day-to-day work; to create better audit trails (by including revision information in derived artifacts like generated code); made available via MATLAB code to support developing custom workflows & “mistake proofing” – e.g., only allow code generation if there are no modified files.
2. Reduce the amount of switching between tools. By providing access to basic operations, like “compare to revision”, “commit” or “update” an engineer can stay within their IDE (in this case, MATLAB or Simulink) for more of the time, increasing productivity.
3. Allow compare and merge operations to be performed in the correct context. By performing source control operations like compare, merge & 3-way merge from within the current Simulink Project, for example, an engineer will have the correct supporting environment to perform those comparisons & merges, leading to a more efficient & intuitive operation.