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 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 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+))+
- (\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.