You can integrate a Model repository with a version control system that you use in your organization. A version control system protects Model repository objects from overwriting objects on a team where multiple developers work on the same projects. A Model repository can use only one version control system instance. You can integrate the Model repository with the Perforce, Subversion, or Git version control system.
A version control system allows one user at a time to check out, edit, and save an object. When you save an object, the object is saved in the Model repository. After you check in the object, a version is created in the version control system. The version control system maintains a history of all the versions. You can edit only the latest version of the object. You can view the other versions of the object in read-only mode. You can roll back to a previous version or reassign the checked-out state of objects to another user. A version control system protects a Model repository object from unwanted updates because it does not allow multiple users to edit an object at once.
Perforce and Subversion are centralized version control systems. You might lose data if the Perforce or Subversion version control system server is not accessible or the server unexpectedly shuts down.
Git is a distributed version control system. When you check in an object, the Git version control system checks in the object. It saves a copy in the remote Git repository and local Git repository. If the remote Git repository is inaccessible or if it shuts down unexpectedly, you can access the local Git repository to view all the versions and edit the latest version of the object.
When you choose the Git version control system, you can configure the following components:
Remote Git repository
You need access to the remote repository on the Git server. To configure the version control system, you need the URL, user name, and password of the remote repository. You can use HTTP or HTTPS protocol to access the remote Git repository.
Local Git repository
Create a directory on the machine that hosts the Model Repository Service to serve as the local Git repository.
The directory must meet the following requirements:
Access to all the client machines.
Access to the backup nodes for the Model Repository Service after you enable high availability.
Support for NFS, FAT32, and NTFS file systems.
Have a unique name.
Have read, write, and execute permissions.
When the Model repository is integrated with a version control system, you can check in revised objects, undo the checkout of objects, and reassign the checked-out state of objects to another user.
If the Model repository is integrated with a version control system, you cannot use the Model repository for mass ingestion.