Version Control
Select System Configuration > General.
Version control allows you to access previous versions of your Repositories files. Optionally, when you configure version control with a remote Git repository, you can access previous versions of files from all members of your team who commit to the same repository.
Note that version control does not, by itself, enable you to update your local working copy of Repositories files. Instead, version control allows you to download previous versions. Once downloaded, you can update your working copy by republishing to FME Server.
Getting Started with Version Control
To use version control, you must enable it. Once you enable version control, any time you publish a new file, or republish an existing file, from FME Desktop to FME Server, a new version of the file is saved on your local system. You can also save individual workspace versions directly from the Repositories page.
You can view all versions from the Repositories page (History), and download them as desired.
To enable version control, select System Configuration on the Web User Interface sidebar. Under General, move the Version Control slider to the right.
Note: You must belong to the fmesuperuser security role to enable version control initially. Once enabled, version control permissions can be granted to others on the Users page or Roles page. A user with "Manage" permission can disable or enable version control.
Configuring Version Control with a Remote Git Repository
When you configure version control with a remote Git repository, you not only have access to your own revision history, you can also fetch revisions made by all members of your team who use version control, and commit to the same repository.
- On the sidebar, select System Configuration > General.
- Expand Version Control.
- Under Remote Settings, enter:
- The Remote Repository URL for the Git repository where you want to commit additions and changes.
- The Remote Token generated by GitHub.
- Click Save.
Tip: You can find this value in GitHub, under the Clone or download tab of the applicable repository.
Mouse-over to view screenshot.
Tip: For information about generating a token, see the GitHub Help. Under Article versions, select the GitHub version applicable to your account (personal or GitHub Enterprise).
If the remote Git repository is private, specify scope repo ("Full control of private repositories").
If the remote Git repository is public, specify scope repo ("Full control of private repositories") or public_repo ("Access public repositories", under repo).
Pushing Updates
When you configure version control with a remote Git repository, you must push your latest file updates to the repository if you want other team members who use version control to access them.
- On the sidebar, select System Configuration > General.
- Expand Version Control.
- Click Push To Remote.
- FME Server attempts to update the remote Git repository with your additional versions. However, if there are versions on the remote repository that occurred subsequent to the versions you want to push, and you have not yet fetched them, an error displays, with an option to Force Push. If you choose Force Push, your revision history overwrites the revision history on the remote repository. Otherwise, click Cancel.
- If the push is successful, a message appears at the top of the page.
Fetching Updates
When you fetch updates from the remote Git repository, you get the latest history of revisions from other team members who have pushed updates. You can then view all revisions from the Workspaces tab (History), and download them as desired.
Note: Fetching updates does not change your working copy of any Repositories files. To update your working copy, download a revision, and republish it to FME Server.
Note: You can view updates only for repositories you have added to your FME Server, and on which you have Read permission. For more information, see Users or Roles.
- On the sidebar, select System Configuration > General.
- Expand Version Control.
- Click Fetch From Remote.
- FME Server attempts to update your version history with any additional versions from the remote Git repository. However, if your version history shows previous versions that no longer exist on the remote repository, an error displays, with an option to Force Fetch. If you choose Force Fetch, your version history is overwritten to match the versions on the remote repository. Otherwise, click Cancel.
- If the fetch is successful, a message appears at the top of the Version Control page.