by Aditi Roongta

Aditi Roongta

Table of contents


14 March 2011


Prerequisite knowledge

To follow this article, you should have a basic understanding of:

  • Creating projects in RoboHelp
  • Version control systems


Additional required products

User level


Subversion (SVN) is universally recognized and adopted as an open-source, centralized version control system. It can support a wide variety of users and projects. RoboHelp integrates seamlessly with MSSCCI-compliant version control systems, such as the PushOk SVN SCC plugin. This article describes a recommended way to use the PushOk SVN SCC plugin with RoboHelp. RoboHelp integration with PushOk SVN SCC does not require manual handling of any files.

To set up Subversion Source Control for your project, you must have the following components installed and configured:

  • Subversion Client (for example, PushOk SVN SCC) software on the machines that you want to set up as your source control clients.
  • SVN Server software on the machine that you want to set up as the source control server.

Because SVN Server works using the command prompt, Tortoise SVN (GUI) is helpful.

For the tutorial in this article, the following third-party products are used:

Configuring SVN Server

Create a repository

You first need to create a folder for your main Subversion repository. I prefer to use a top-level folder so it's easy to find and back up. So choose something like C:\SubversionRepo and do the following steps:

  • Create a folder (for example, C:\SubversionRepo)
  • Right-click | TortoiseSVN | Create Repository here

To set up permissions for this repository, configure C:\SubversionRepo\conf\svnserve.conf and password.

In SvnServe.conf, specify the following:

[general] # anon-access = read auth-access = write password-db = passwd

This configuration enables only authenticated access to the repository and provides write access to authenticated users.

Next, edit the password file (password) and add any names you want to allow as key value pairs. For example, add details about User1 and User2 in the following way:

[users] User1 = test1 User2 = test2

Start the server

Open the command prompt and run the following command to start the server:

svnserve.exe –daemon

Leave the command window open to keep the server running.

Verify the connection

To verify that the connection to the server and the repository is successful, select TortoiseSVN > Repo- browser from the right-click menu. Provide the URL as svn://localhost/SubversionRepo

The Repository browser opens the repository if the provided URL is correct.

Using SVN Client

After installing the PushOk SVN SCC plug-in, make sure that PushOk SVN SCC is listed as a source provider in the registry (HKLM > Software > SourcecodeControlProvider >InstalledSCCProviders).

Add a RoboHelp project to SVN

  1. Launch RoboHelp and create a project.
  2. After the project is created, click Add Project to Version Control from the Version Control toolbar or from the File menu.
  3. Select the PushOk SVNSCC option and click OK.
  1. In the Connection dialog box, provide the SVN URL, the SVN module name, and the local path.

SVNURL: Specifies the address of the repository to which you want to connect.

Use the following format:


  • (protocol): A way of connecting to SVN server. For example, the protocol can be file, svn.
  • (servername): A server name for client-server protocols.
  • (path): A path on the server or the local disk.

An example of SVNURL with the file protocol

The URL depends on whether the file repository is located in a local or network file system.

For a local file system, servername is empty, and SVNURL looks like file:///(path_on_local). That is, SVNURL contains 3 slashes one after another.

For a network file system, SVNURL looks like file://network-svr/Users/John/SVNRepo where network-svr is the server-name; 'Users/John/SVNRepo' is the path of the repository on the server.

An example of SVNURL with the svn protocol

svn: native (internal) protocol realized by the svnserve daemon.

SVNURL will become svn://server-name/path

  1. Click Check to verify that the connection to the repository is successful.

SVN MODULE: A module is a folder inside the repository or a path within the repository.

  1. Specify a new module name and click Create.

Note: If the module name already exists, click Check to verify that the connection is set.

Local Path: Local path is automatically set to the current project path.

  1. Click OK.

Now the files and folders of the current project are added to the SubversionRepo.

Project files are in a checked-out state after they are added to the SVN repository.

Get a RoboHelp project from SVN

To get a project from SVN, make sure that you have SVNURL and SVN Module details, and the appropriate access rights.

  1. Open RoboHelp and select File > Open.
  2. Click the lock icon to open the project from the version control system.
  3. Create the connection again using the connection steps described in the Add a RoboHelp project to SVN section.
  4. Provide the shared SVNURL and SVN Module details and click the Check button to see if the connection is made to the already existing SVN URL and SVN module.
  5. Provide the local path in your drive where you want to store the copy of the project.

You can now open the .xpj file of the project, and the version-controlled project will be opened in RoboHelp.