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. The format and the location of the ID in the commit message are configured with SVN
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 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 (e.g.
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+))+
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 from the SVN server the
revisions that affected a bug 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. A click on 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.