TortoiseSVN Integration

Installation of Artifacts for Visual Studio includes a plugin for TortoiseSVN to help you enter artifacts IDs into the commit comment messages. This article describes settings required to use this feature.

To setup integration of Artifacts and TortoiseSVN you should add several Subversion properties to the root directory of your project.

  1. Add bugtraq:provideruuid property with "{76F5E5DC-85F1-4543-9615-F3ABDF74A296}";
  2. Add bugtraq:providerparams property with relative path to your artifacts projects root
    (for example, "doc" if artifacts are stored in trunk/doc/bugs and trunk/doc/wiki);
  3. Add bugtraq:logregex property with hyperlinks regexp
    (for example, "((bugs|wiki)/[^\s]+)" where bugs and wiki are artifacts project names);
  4. Add bugtraq:url property with relative path for artifact URL
    (for example, "^/trunk/doc/%BUGID%.art" if artifacts are stored in trunk/doc/bugs and trunk/doc/wiki).

See bellow for more details.

Please see TortoiseSVN documentation for more information about integrating TortoiseSVN with bug tracking systems.

Enabling Artifacts plugin in TortoiseSVN

There are two ways to enable Artifacts plugin on a Subversion working copy. You could either add working copy to the list of paths with hook scripts using TorotoiseSVN settings window or set bugtraq:provideruuid property on the working copy root.

After you have enabled Artifacts plugin on the working copy there should be "Artifacts" button at the top right corner of TortoiseSVN commit window.

Configuring root folder for Artifacts

To help Artifacts plugin find artifacts in your working copy you should set path to the folder containing folders with artifacts in the plugin settings or via bugtraq:providerparams property (e.g. if you store artifacts in folders trunk/doc/bugs and trunk/doc/wiki then you should set "doc" as the value of the "bugtraq:providerparams" on the trunk folder). If folders containing artifacts are direct descendants of the working copy root then you could leave the parameter blank. Please note that Artifacts plugin for TortoiseSVN supports only layouts in which all artifacts folders belong to the same parent folder.

After configuring the root folder you should be able to scroll through the list of artifacts after clicking on the "Artifacts" button in commit dialog. When artifact is selected in the list a reference like "bugs/bug-1" should be appended to the commit message.

Configuring hyperlinks

To make all references to artifacts appear and function as links you should set bugtraq:logregex property on the working copy root folder. The format for the regex is as following.

((bugs|wiki)/[^\s]+)

All folders with artifacts should be listed, separated with vertical bars ("bugs" and "wiki" are provided for example).

Additionally bugtraq:url property should be set to the relative path to the folder containing folders with artifacts, counting from the repository root.

^/trunk/doc/%BUGID%.art

After setting these properties all references to artifacts in commit messages should become hyperlinks. Click on a link should open raw artifact file in the default web browser.

Enabling Artifacts for Web

This step is optional. In order to view coveniently, print and edit artifacts in the web browser you should add artifacts.html to each folder with artifacts. See product description for details. Please note that Artifacts plugin for TortoiseSVN currently supports links to one web-enabled project only.

To open artifacts references from TortoiseSVN in Artifacts for Web you should tune properties a bit. Add a second line to the bugtraq:logregex property with the following value.

([^/\s]+)$

Change bugtraq:url property to include artifacts.html as following.

^/trunk/doc/artifacts.html#%BUGID%

Notes

Please note that you should always perform commits from the working copy root to help Artifacts plugin correctly list all artifacts. This limitation might be removed in future versions.