14 March 2011
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:
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:
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:
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:
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.
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
SVNURL: Specifies the address of the repository to which you want to connect.
Use the following format:
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
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.
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.
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.
You can now open the .xpj file of the project, and the version-controlled project will be opened in RoboHelp.
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License. Permissions beyond the scope of this license, pertaining to the examples of code included within this work are available at Adobe.