Version Control (Technology Preview)
WARNING: Version control is a Technology Preview feature. Expect changes to the current behavior. Not all documented features may be present, or work as expected. We do not recommend that features in Technical Preview be used in production environments.
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 you download, you can update your working copy by republishing to FME Server.
Getting Started with Version Control
To use version control, you must enable it. When 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 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 Enable Features, move the Version Control slider to the right.
Note: You must belong to the fmesuperuser security role to see System Configuration and enable version control. For more information, see Users or Roles.
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.
- Under Version Control, click Edit Settings.
- On the Edit Version Control Settings dialog, enter:
- The Remote Repository URL for the Git repository where you want to commit additions and changes.
- The Remote Token generated by GitHub.
- Click OK.
Tip: You can find this value in GitHub, under the Clone or download tab of the applicable repository.
Mouse-over to view screenshot.
Tip: Generate a remote access token in GitHub under Your profile > Edit profile > Personal access tokens.
Mouse-over to view screenshot.
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.
- Under 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.
- Under 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.