Users of bug tracking systems can associate the changes they make in the repository
resources with a specific ID in their bug tracking system. The only requirement is that the
user includes the bug ID in the commit message that he enters in the
Commit dialog box. The format and the location of the ID in the
commit message are configured with SVN properties.
To make the integration possible Syncro SVN Client needs some data about the bug
tracking tool used in the project. You can configure this using the following SVN properties which must be set on the folder containing
resources associated with the bug tracking system. Usually they are set recursively on the
root folder of the working copy.
- bugtraq:message - A string property. If it is set the Commit dialog box will display
a text field for entering the bug ID. It must contain the string %BUGID%, which is
replaced with the bug number on commit.
- bugtraq:label - A string property that sets the label for the
text field configured with the bugtraq:message property.
- bugtraq:url - A string property that is the URL pointing to
the bug tracking tool. The URL string should contain the substring %BUGID% which Syncro SVN Client replaces with the issue number. That way the resulting URL will
point directly to the correct issue.
- bugtraq:warnifnoissue - A boolean property with the values
true/yes or false/no. If set to true, the Syncro SVN Client will warn you if the bug ID text field is left empty. The warning
will not block the commit, only give you a chance to enter an issue number.
- bugtraq:number - A boolean property with the value
true or false. If this property is set to false, then any
character can be entered in the bug ID text field. If the property is set to
true or is missing then only numbers are allowed as the bug ID.
- bugtraq:append - A boolean property. If set to false,
then the bug ID is inserted at the beginning of the commit message. If yes or
not set, then it's appended to the commit message.
- bugtraq:logregex - This property contains one or two regular
expressions, separated by a newline. If only one expression is set, then the bug ID's must
be matched in the groups of the regular expression string, for example [Ii]ssue
#?(\d+) If two expressions are set, then the first expression is used to find a
string which relates to a bug ID but may contain more than just the bug ID (for example,
Issue #123 or resolves issue 123). The second expression
is then used to extract the bug ID from the string extracted with the first expression. An
example: if you want to catch every pattern issue #XXX and issue
#890, #789 inside a log message you could use the following strings:
- [Ii]ssue #?(\d+)(,? ?#?(\d+))+
- (\d+)
The data configured with these SVN properties is stored on the repository when a revision
is committed. A bug tracking system or a statistics tools can retrieve the revisions that
affected a bug from the SVN server and present the commits related to that bug to the user of
the bug tracking system.
If the bugtraq:url property was filled in with the URL of the bug
tracking system and this URL includes the %BUGID% substring as specified above in the
description of the bugtraq:url property then the History view presents the bug ID
as a hyperlink in the commit message. Clicking such a hyperlink in the commit message of a
revision opens a Web browser at the page corresponding to the bug affected by that commit.