Learn how to collaborate from RoboHelp using Git.
Adjust your PATH environment variable so that Git and optional UNIX tools can be used from the Windows command prompt. To do so, select this option in the Git installer:
Your PATH environment variable must contain this value:
Since Windows 10 version 1803, Microsoft has added native SSH support, which is known to cause conflict with Git connections. If your Windows version is higher than 1803, ensure that the path to SSH binaries in the Git installation (C:\Program Files\Git\usr\bin) takes precedence over the path to SSH binaries provided by Microsoft (%SystemRoot%\system32). You can access the system PATH environment variable through the System Properties dialog box > Advanced tab > Environment Variables.
Register your external diff/merge application in RoboHelp. To do so:
Choose Edit > Preferences.
In the Application Settings dialog box, click the Version Control tab.
In the External Diff/Merge Application field, click to select your external diff/merge application such as p4merge.
Verify that Git supports your application by running the following command on the command prompt:
git mergetool --tool-help
To connect RoboHelp with Git, create a Git connection profile.
If the connection profile is to be used to upload the currently open RoboHelp project to your Git server, the new repository URL must be empty. While creating the repository, ensure that you do not initialize it with a readme file.
In RoboHelp, choose Collaborate > New Connection.
In the Connection Profiles dialog box, specify a name for your connection profile.
From the Version Control drop-down list, select Git.
In the Repository URL field, specify the SSH or HTTPS URL of the remote repository.
The SSH URL can be specified in one of the following formats:
For example, email@example.com:adobe/brackets.git or ssh://firstname.lastname@example.org/adobe/brackets.git.
The HTTPS URL is specified as:
For example, https://email@example.com/adobe/brackets.git
If you've provided an https URL, the Git server provider drop-down list displays. Select the applicable server provider for authentication from the drop-down list. Multi-factor auth is available for specified providers in the list. The Other option implies support for Basic password authentication only.
If you specified an HTTPS URL, RoboHelp prompts you to enter the credentials on the first connection to the server. The prompt is specific to the Git Server Provider configured in the connection profile or a generic password prompt if the Other option was selected.
The credentials are saved in the system Credential Manager/Keychain for subsequent use.
The record contains the following string:
If you changed the credentials recently, delete or update the corresponding record from the Credential Manager to avoid authentication error prompts. If RoboHelp does not find a matching record in the system Credential Manager, it prompts for the credentials again. For more information about system Credential Manager (Windows), see Microsoft Help.
In the User ID field, specify the name of the user account that has read/write access to the specified Git repository.
In the Branch field, specify the branch name on the server. The default branch name is master.
In case you specified an SSH URL in step 5, the SSH private key field is visible. In the SSH Private Key field, specify or navigate to the path of the SSH Private Key that you use for connecting to the repository on your Git server. To set up a new SSH connection to your Git server, see Set up an SSH connection.
If the specified SSH key contains a passphrase, RoboHelp prompts you to enter this passphrase and saves it in the system Credential Manager for subsequent use. The record is stored in this format:
If you are using a new SSH key for connection to the same repository but with a different passphrase, delete or update the corresponding record in the system Credential Manager. If RoboHelp does not find a matching record in the system Credential Manager, it prompts for the passphrase again. For more information about system Credential Manager (Windows), see Microsoft Help.
In the Local Path field, specify a path on your computer that maps to the repository on the server.
If the connection profile is to be used to upload the currently open RoboHelp project to your Git server, specify the folder containing the project or any of its parent folders. The local Git repository is initialized in this folder and is published to your Git server.
Otherwise, to use the connection profile to clone a repository from your Git server, provide the path to an empty local folder in which the repository is to be cloned. If the specified path does not exist, it is created before cloning.
You may have to specify additional arguments if your Git server is using a port for SSH connections which is different from the default (22). For example, add the option -p <portnumber> to specify the alternate SSH port number.
Ensure that SSH connections are not blocked by your firewall. Git connection through RoboHelp is successful only if this step succeeds.
Ensure that your SSH key is generated with a supported signature algorithm like the ssh-ed25519 or the rsa-sha2 algorithms. The rsa-sha1 algorithm has been deprecated from the list of supported algorithms, which may result in a server connection failure. For more details, see notice from OpenSSH.
In RoboHelp, choose Collaborate > Open Connection and select a Git connection profile. The repository is cloned at the local path specified in the connection profile.
If the specified local path in the connection profile already contains a Git repository, cloning is skipped.
In the Open dialog box, select a RoboHelp project file (.rhpj) and click Open.
RoboHelp opens the project file.
When you open a RoboHelp project for the first time using these steps, connection information is stored inside the project for subsequent use. So directly open the project using one of the ways described in Open a project.
Add content to or edit a topic. You can quickly begin editing files without any network connection.
Also, you can do the following:
In the Commit dialog box, from the list of modified, newly added, and deleted files, select the files you want to commit.
To be able to commit the changes, specify a commit description.
After the commit is successful, RoboHelp displays a success message.
To perform the push operation, you must have write access to the repository on your Git server.
To sync your local repository to match the repository on the server, choose Collaborate > Pull.
If some of your local files contain edits that are not yet committed to your local repository and these files are updated on the server, the pull operation fails. In this case, commit your changes or stash them before your merge.
After successfully pulling changes, files that contain both local and remote commits are merged. If the merge is unsuccessful, a merge conflict occurs and it must be resolved. To resolve merge conflicts, choose Collaborate > Commit.
In the Commit dialog box, files containing merge conflicts are indicated as in the Action column.
Click against the file to merge conflicts using the external diff/merge application that you have registered in Step 3 in Prerequisites for connecting to Git.
The registered diff/merge application opens for the specific file.
Resolve the conflicts and close the diff/merge application.
Commit the resolved files by clicking Commit in the Commit dialog box.
In the Discard changes dialog box, you can see the list of current pending changes which display your local files that have been modified.
Select one or more files that you want to revert.
Click Discard changes.
All changes made to the selected files since the last commit will be discarded and then automatically removed from the active changelist.
To toggle back and forth between multiple Git branches in your project, choose Collaborate > Switch Branch.
The Switch Branch dialog box opens.
In the Switch Branch dialog box, specify the name of the branch you want to switch to.
For example, you want to switch from the master branch to another branch named “release” in your repository.
Click Done. That's it.
You have successfully switched to your “release” branch with the Switch Branch command.
To add a project, choose Collaborate > Add Project and select a Git connection profile.
The local path in the profile must contain the current project. For more information, see Step 9 in Create a Git connection profile.
This operation fails if the repository specified in the connection profile contains any files. To add your RoboHelp project to an existing repository on the server, first clone that repository on your system and then copy or move your project into the folder in which the repository is cloned.
The Commit dialog box opens.
To remove the Git connection from the current RoboHelp project, choose Collaborate > Remove Connection.
If you want to delete the local repository also, select the Delete any source control information from the local folder also field in the Confirm dialog box.
Commit and push all your changes before deleting the repository.
When the connection is removed, RoboHelp reopens the project, and the Add Project option in Collaborate menu becomes available. To add the project again, see Add a project to your Git server.
If you did not delete the local repository, when you add the project using the same connection profile as before, your local changes are preserved and you can commit/push them as required.
If you deleted the local repository, you cannot push changes to the repository on the server mentioned in the same connection profile as it already contains files. So you must add the project using a connection profile that contains an empty repository.