Collaborate via Subversion (SVN)

Documentation / Collaborate

You can manage versions of your ReqView projects in SVN, a very popular centralized open-source version control system (VCS) adopted by many customers because of its simplicity and robustness. Because SVN supports a centralized locking mechanism, it prevents edit conflicts of document files. Therefore, it is more suitable than Git, the most popular distributed VCS.

The SVN workflow in ReqView is very easy to use. It enables team collaboration even with non-technical users who cannot use an external SVN client. With SVN workflow, you can cover the following steps:

  • Check out a ReqView Project Folder from an SVN repository into a local SVN working copy
  • Open a ReqView Project Folder from the local SVN working copy
  • Display SVN information about the open project
  • Edit documents exclusively by locking/unlocking ReqView document files in the SVN repository
  • Update the open project by changes from other users
  • Commit project changes from the working copy to the SVN repository
See video tutorial 

Connect to SVN Repository

Before using the SVN workflow from ReqView, you (or your network administrator) should install SVN on your computer, set up an SVN repository, and import your requirements project into the SVN repository. See SVN Administration.

You should save login credentials to SVN when connecting to the SVN repository the first time because ReqView does not store any passwords. If you use Tortoise SVN client, then simply open the Repo-browser and enable Save authentification option in the SVN Authentification dialog .

You can also log in to an SVN repository by svn info command:

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

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

Check out Project

You can check out a ReqView project from the SVN repository to a local working copy from ReqView or using svn checkout command.

To check out the project from ReqView, click File, select SVN and then Check Out. In the Check out Project From SVN 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

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

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

To open an SVN working copy in ReqView, click File and select Open Folder. When the open project is managed in SVN, you will see icon in the top right corner of the screen.

Get SVN Information

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

Display SVN information about the ReqView project

Edit Project

When you open a Project Folder from a local SVN working copy, all documents are open in Read Only Mode , which is indicated by icon. To switch a document into Exclusive Edit Mode, which allows an editor to modify the document, click Document and select Start Editing Document, or press CtrlShiftE.

When you finish editing, click Document and select Finish Editing Document, or press CtrlShiftE to commit your changes and switch back to Read Only Mode. In the Commit Changes dialog, enter a commit message and press OK to commit project changes to the SVN repository:

Commit ReqView project changes to SVN

Note: Project documents are unlocked as soon as you close the project or save the project into a different Project File or Project Folder. The shared Project Folder must be connected to close the project and release all locks.

To commit project changes anytime during editing, click File select SVN and then Commit to SVN, or click button in the top right corner of the screen. Note that ReqView commits project changes to SVN automatically after adding or removing a document, changing project traceability, or reordering documents.

To update the project by changes from other users, click Project and select Refresh Project, or press CtrlR. To refresh projects opened from a folder automatically on the application startup, enable the Edit > Preferences > Refresh project on startup and open option.

Advanced SVN Operations

Advanced SVN users can also take advantage of an external SVN GUI client or SVN command line tool to do the following operations:

  • Display SVN log of project changes
  • Create an SVN tag for a project baseline
  • Open a project baseline from an SVN revision
  • Compare the current project version with another SVN revision or a tag

Display SVN Log

To display the SVN log of changes, open Revision Log dialog in TortoiseSVN or use svn log log command:

$ svn log

Manage SVN Tags

To create an SVN tag from your working copy, open Copy (Branch / Tag) dialog in TortoiseSVN or use svn copy command:

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

To checkout a SVN tag to another SVN working copy <project_baseline>, open Checkout dialog in TortoiseSVN or use svn checkout command:

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

To open the project baseline in a new application window, click File, select Open Folder and choose folder <project_baseline>.

To compare the latest state of the project with a SVN tag, click Project, mouseover Compare Project, select Compare Folder, and choose folder <project_baseline>, see Compare Project Baselines.

Using Other VCS

If you manage ReqView projects in another VCS than SVN (such as Git) you need to use external tools to resolve edit conflicts, for instance Meld text comparison tool:

Documents comparison visualized in Meld tool

To minimize edit conflicts, use the following collaboration guidelines:

  • Only one user can edit the document if he changes the document structure (for example, adds new requirements, moves requirements and sections, purges deleted requirements).
  • Multiple users can change value of attributes or link requirements while preventing any change of the document structure.

For example, you can collaborate with reviewers as long as they change only reviewState and reviewComment attributes.

Updated for version 2.17.0