Collaborate via Subversion (SVN)

ReqView Documentation / Collaborate

You can manage your ReqView projects in Subversion (SVN), a very popular centralized open-source Version Control System (VCS) adopted by many customers because of its simplicity and robustness. You can use the following simple SVN workflow in ReqView:

  • Check out a local SVN working copy from a remote SVN repository
  • Open a ReqView Project Folder from the local SVN working copy
  • Show SVN information about the open project
  • Edit documents exclusively by locking ReqView document files in the SVN repository
  • Commit your project changes to the SVN repository
  • Update the open project from the SVN repository to display project changes made by other users

This workflow allows more editors to edit different documents at the same time. For instance, one editor can edit a system requirements specification document while another editor is editing a system verification document.

To enable SVN integration, click Edit, select Preferences, and tick Integrate with Subversion.

See video tutorial 

Note: ReqView supports also integration with Git, for more information see Collaborate via Git.

SVN Setup

Install SVN Client

Download and install SVN command line tools for your platform before using SVN integration in ReqView. SVN command line tools are also bundled with many popular SVN GUI clients, such as Tortoise SVN for Windows.

On Windows, to install Tortoise SVN and command line tools using the winget tool, run:

$ winget install --id TortoiseSVN.TortoiseSVN -e --source winget --custom "ADDLOCAL=DefaultFeature,CLI"

You can verify if the installation was successful by the following command:

$ svn --version

If svn command is not found, make sure that it is present in the system or the user environment variable PATH.

Connect to SVN Repository

Before you can follow the SVN workflow for a ReqView project, your SVN administrator shall set up an SVN repository and import the projects into the repository as described in SVN Administration.

When you connect to a SVN repository the first time you need to enter and save login credentials using your SVN client because ReqView does not store any passwords.

If you use Tortoise SVN client, open the Repo-browser and enable Save authentification option in the SVN Authentification dialog.

If you use SVN command line tools, log in to the repository by svn info command:

$ svn info --username <user_name> --password <password> <svn_repository>

Note: You can list all saved login credentials by svn auth command.

Check out Projects

You can check out a ReqView project from the SVN repository to a local working copy using ReqView or svn checkout command. ReqView uses the main development branch usually named trunk.

To check out the project and open it in ReqView, click File, select SVN and then Check Out. In the Check Out From SVN Repository dialog enter the URL of the trunk branch in the SVN repository, choose an empty folder for the working copy, and press OK.

Check out a ReqView project from SVN repository

To check out the project using the command line, switch to the parent folder of the working copy, and run:

$ mkdir <reqview_project>
$ svn checkout <svn_repository>/trunk <reqview_project>

Create Local Workspace

If you need to work with linked projects, you should create a local workspace with a predefined hierarchy of project folders. You create the local SVN working copy easily by just running a script prepared by your administrator, see Subversion (SVN) Administration > Organize SVN Repositories.

SVN Edit Workflow

Open Projects

To open a shared Project Folder in ReqView, click File, then Open Folder and select the folder from the SVN working copy. The application displays icon in the top right corner of the screen to indicate that the project is managed in a VCS.

Edit Projects

To open a document, click on the document in the Project pane. The application displays icon in the top right corner of the screen to indicate that the document is read-only.

When you switch to the Project pane and click on a document then it is open as read-only, which is indicated by icon displayed in the top right corner of the screen.

To edit the document exclusively, click Document and select Start Editing Document, or press CtrlShiftE, or click . The edited document is locked in the SVN repository automatically to prevent merge conflicts with other users.

To commit intermediate changes to the SVN repository during editing, click File, select SVN, and then Commit, or click . In the Commit Changes dialog, enter a commit message and press OK:

Commit a changed ReqView project to the SVN repository

To finish editing the document, click Document and select Finish Editing Document, or press CtrlShiftE, or click . If the document has local changes then enter a commit message in the Commit Changes dialog. The edited document is unlocked in the SVN repository automatically to allow other users continue on editing. All edited documents are also unlocked in the SVN repository when the project is closed or saved as another Project File or Project Folder.

Note: Project changes are committed to the SVN repository automatically when you add or remove a document, change project traceability, group documents, ReqIF import or ReqIF export.

To revert all local changes to the latest version in the SVN repository, click File, select SVN, then Revert, and finally press OK in the Revert Changes dialog.

Update Projects

To update the current project by changes from the SVN repository, click Project and select Refresh Project, or press CtrlR, or click in the Project pane.

To update the current project including all loaded linked projects by changes from the SVN repository, click Project, select Linked Projects and then Refresh All Projects, or press CtrlShiftR, or click in the Linked Projects pane.

To enable updating projects opened from a folder on the application startup automatically, click Edit, select Preferences, and check Refresh project on startup and open.

Show SVN Information

To display information about the SVN working copy and the last project version stored in the SVN repository, click File select SVN and then Information:

Display SVN information about a ReqView project

SVN Client

You can use the svn command line tool or a SVN GUI client, such as TortoiseSVN, to display project changes, manage project baselines and compare project versions as described in the next sections.

SVN History

Browse History

To show log messages for all project files stored in the current working copy, use the svn log command:

$ svn log

If you use TortoiseSVN, open the Revision Log dialog.

Open SVN Revision

You can check out a SVN revision from the repository to another working copy and then browse the project version in another ReqView application window.

To check out a SVN revision, use the svn checkout command with the parameter -r:

$ svn checkout <svn_repository>/trunk <working_copy> -r <svn_revision>

If you use TortoiseSVN, open the Checkout dialog, enter the path of the new working copy in Checkout directory, check the Revision option, and finally enter the revision number.

To open the project revision in ReqView, click File, select Open Folder and select the project in the new working copy.

SVN Baselines

You can manage ReqView project baselines using SVN tags. Each SVN tag is a read-only copy of the main branch called trunk into a separate folder called tags.

Manage Baselines

To create a SVN tag from the current working copy, use the svn copy command:

$ svn copy . "^/tags/<tag_name>"" -m "Create baseline <tag_name>"

If you use TortoiseSVN, open the Copy (Branch / Tag) dialog and enter the tag name in To path field.

Open Baselines

You can check out a SVN tag from the repository to another working copy and then browse the project baseline in another ReqView application window.

To check out a SVN tag, use the svn checkout command:

$ svn checkout <svn_repository>/tags/<tag_name> <working_copy>

If you use TortoiseSVN, open the Checkout dialog and select the tag in URL of repository.

To open the project baseline in ReqView, click File, select Open Folder and select the project in the new working copy.

Compare With Baselines

To compare the current project with its baseline checked out to a separate working copy as described in the previous section, click Project, hover over Compare Project, select Compare Folder, and select the project in the second working copy.

For more details, see Manage Requirement Changes > Compare Projects.

SVN Troubleshooting

  • Clean Working Copy: If an SVN action is canceled manually then the SVN working copy is left locked and it needs to be cleaned up. To clean up the SVN working copy, click File, mouseover SVN, select Cleanup and then refresh the project. Alternatively, you can also run svn cleanup command from the command line.
  • Release SVN Locks: A system administrator can release project or document locks when another editing user cannot release the lock from ReqView application, for instance if his computer is broken or if he leaves the company with a document locked for editing. For more information, see Subversion (SVN) Administration > Force Release of SVN Locks.
Updated for version 2.20.0