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.

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>

To open the project in ReqView, click File, then Open Folder and select the project folder in the SVN working copy.

When the project is open from the SVN working copy, there is icon in the top right corner of the screen indicating that the open project is managed in SVN.

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.

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

Edit Projects

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.

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.

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