SvnPlugin
Improves traceability of task and commits with subversion repository
Overview
The SVN plugin intends to improve traceability of coding activities and integration with tools for web-browsing code repositories. It map s tickets with tasks, bugs, enhancements to commit messages and revisions in a subversion repository.
Syntax Rules
CONFLICT version 0:
%SVNTIMELINE{ parameters here }% |
shows formated and referenced commit messages |
CONFLICT version new:
%SVNTIMELINE{ parameters here }% |
shows formated and referenced commit messages |
CONFLICT end
%SVNTICKETREF{ parameters here }% |
shows the commit messages related to a specific ticket |
Parameters
| Name |
Description |
ticketprefix |
Ticket name without a number, tipicaly there will be severl tickets startin from MyProjectTicket1 to MyProjectTicketXXXX in this cast the ticketprefix will be "MyProjectTicket" |
svnpath |
Path to a subversion repository |
ticketnum |
Specifies the number of a ticket we are searching for (used only in SVNTICKETREF) |
format |
The usual parameter, $rev is replaced with a revision number $author with an autor name, and $msg with commit log of a specific revision |
limit |
Limit the search for n last revisions |
Examples
SVNTIMELINE example
%SVNTIMELINE{
ticketprefix="MyProject"
svnpath= "svn://projectserver/svn/MyProject/trunk/"
format="|[[http://projectserver/websvn/listing.php?repname=svn&path=MyProject&rev=$rev][rev.$rev]] |$author |$msg |"
}%
Produces a table (this is a fake!) with subversion logs hyperlinked to websvn repository viever to a specific revision and to a related ticket with described activity. Every "#number" pattern in commit log is replaced with a link to a ticket specified by ticketprefic parameter.
eg. #2 -> MyProjectTicket2
rev.123 |
vaclav |
fix of #3 bug |
rev.122 |
vaclav |
implementation of GUI feature, ticket #2 |
rev.121 |
vaclav |
some other commit which does not reference any ticket |
rev.120 |
vaclav |
parser enhancement, ticket #1 |
SVNTICKETREF example
%SVNTICKETREF{
ticketprefix="MyProjectTicket"
ticketnum="%CALC{$EVAL(%TOPIC%)}%"
svnpath= "svn://projectserver/svn/MyProject/"
format="|[[http://projectserver/websvn/listing.php?repname=svn&path=MyProject&rev=$rev][rev.$rev]] |$author |$msg |"
}%
SVNTICKETREF searches through the message logs of the repository and shows the ones referencing "ticketnum" number in a same table as above example.
SVNTICKETREF is intended to be in every MyProjectTicket. (The ticket is created via some ticket template)
Plugin Settings
Plugin settings are stored as preferences variables. To reference a plugin setting write
%<plugin>_<setting>%, i.e.
%SVNPLUGIN_SHORTDESCRIPTION%
- One line description, is shown in the TextFormattingRules topic:
- Set SHORTDESCRIPTION = Improves traceability of task and commits with subversion repository
- Debug plugin: (See output in
data/debug.txt)
Plugin Installation Instructions
Note: You do not need to install anything on the browser to use this plugin. The following instructions are for the adminis
trator who installs the plugin on the TWiki server.
- For an automated installation, run the configure script and follow "Find More Extensions" in the in the Extensions section.
- Or, follow these manual installation steps:
- Download the ZIP file from the Plugins home (see below)
- Unzip
SvnPlugin.zip in your twiki installation directory. Content: | File: | Description: |
data/TWiki/SvnPlugin.txt | Plugin topic |
lib/TWiki/Plugins/SvnPlugin.pm | Plugin Perl module |
- Set the ownership of the extracted directories and files to the webserver user.
- Plugin configuration:
- Run the configure script and enable the plugin in the Plugins section.
- The plugin expects that the subversion client is available on the server where TWiki is installed.
Plugin Info
Related Topics: TWikiPlugins,
DeveloperDocumentationCategory,
AdminDocumentationCategory,
TWikiPreferences