Source Control in Projects

Configure source control, retrieve files, review changes, commit modified files

Projects help you to organize large modeling projects by finding required files, managing and sharing files and settings, and interacting with source control. See What Are Projects? and About Source Control with Projects.

Functions

expand all

currentProjectGet current project
openProjectLoad an existing project
listModifiedFilesList modified files in project
listRequiredFilesGet project file dependencies
refreshSourceControlUpdate source control status of project files
Simulink.getFileChecksumChecksum of file

Legacy API

simulinkproject(Not recommended) Open project and get project object
listModifiedFiles(Not recommended) List modified files in project
listRequiredFiles(Not recommended) Get project file dependencies
refreshSourceControl(Not recommended) Update source control status of project files

Examples and How To

Source Control Setup

Add a Project to Source Control

Add SVN or Git source control to your project.

Register Model Files with Source Control Tools

Register model files as binary.

Set Up SVN Source Control

Configure SVN, register model files, lock files, share repositories, and manage SVN externals.

Set Up Git Source Control

Configure Git, register model files, add Git submodules.

Create New GitHub Repository

Create an empty remote GitHub® repository.

Share Project on GitHub

To share your project, make your project publicly available on GitHub.

Disable Source Control

Disable source control to prepare a project template.

Change Source Control

Archive a project and create a new one with a different source control.

Write a Source Control Integration with the SDK

Use the Software Development Kit (SDK) to integrate projects with third-party source control tools.

Customize External Source Control to Use MATLAB for Diff and Merge

Use the MATLAB® Comparison Tool for diff and merge from external source control tools.

Retrieval and Checkout

Clone Git Repository or Check Out SVN Repository

Retrieve a working copy of a project from source control.

Tag and Retrieve Versions of Project Files

With SVN, tag specific revisions of a project.

Refresh Status of Project Files

Check for locally modified project files.

Check for Modifications

Find out if the repository version has moved ahead.

Update Revisions of Project Files

Update revisions with SVN or Git.

Get SVN File Locks

With SVN, ensure users get locks on model files before editing.

Reviewing Changes and Committing Modified Files

View Modified Files

Examine changes in the project.

Compare Revisions

Review changes in modified files by comparing with ancestors, or compare particular revisions.

Run Project Checks

Check projects for problems such as unsaved changes, files not under source control, or derived files out-of-date.

Commit Modified Files to Source Control

Commit a change set to the repository (SVN) or local repository (Git).

Revert Changes

Discard local changes or choose a revision for a file or the whole project.

Pull, Push, and Fetch Files with Git

Git workflow for fetching, merging and pushing changes to the remote repository.

Branch and Merge Files with Git

Create, switch, merge, revert, and delete branches.

Resolve Conflicts

Locate and resolve conflicts; merge text files and merge models; extract conflict markers.

Convert from MDL to SLX in a Project and Preserve Revision History

A project helps you upgrade model files from MDL format to SLX format.

Work with Derived Files in Projects

Best practices for derived files, such as .mex and slprj files.

Concepts

About Source Control with Projects

What source control tools and workflows can I use in a project? Try built-in SVN or Git, or integrate third-party tools.

Featured Examples