Subversion

This extension contains functions for embeding Subversion (SVN) commit logs with automatic links to a bug tracker  Related Links: Extension Overview, DekiScript Overview, Extension Demos.

Assembly: mindtouch.deki.services
SID: http://services.mindtouch.com/deki/draft/2008/02/svn

This service requires Deki Wiki 1.9.0 or later.

To enable this extension, follow these steps:

  1. Go to Service management in the Control Panel of your wiki.
  2. Under Add Service, click on Local, and select type Extension.
  3. Enter a description and the extension SID: http://services.mindtouch.com/deki/draft/2008/02/svn
  4. Add any additional configuration settings that are required by the extension (see below).
  5. Click on add service.

Configuration:

Before the Subversion service can be used, it must be configured.

Config Key Description
svn-uri URI to the SVN repository. Example: https://dekiwiki.svn.sourceforge.net/svnroot/dekiwiki
username Optional username for SVN repository
password Optional password for SVN repository
path-to-svn Path to the 'svn' binary on the file system. Default: /usr/bin/svn
bugs-uri Optional URI to a bug tracker with the bug# replaced with '$1'. Example: http://bugs.opengarden.org/view.php?id=$1
svn-revision-uri Optional URI to a web based SVN revision viewer with the revision# replaced with '$1' . Example: http://dekiwiki.svn.sourceforge.net/...ev&revision=$1

  

Additional Information:

As for every extension, the subversion extension can be added several times, e.g. for different servers. To accomplish this, set the service preference "namespace". If it is set e.g. to "mysvn", the subversion service is being invoked by mysvn.table(...). If all repositories are on the same server, this is not needed, use the parameter "path" (see below) for this.

Functions:


svn.table(path : str, range : str, limit : num, verbose : bool ) : xml

The SVN revision log from a given path. Bug numbers mentioned in the commit messages can be automatically linked to a bug tracking system

Parameters:

Name Type Description
path string optional. Path within the repository to include
range string optional. Revision ranges to include. Same syntax as described in 'svn help log'
limit int optional. Limit the number of revisions returned
verbose bool optional. Show full log message or just the first line. (Default: false)

Samples:

   Output

Output up to 30 revisions from trunk with the given revision range. Output full log comments.

{{ svn.table{ path: "public/dekiwiki/trunk", range: "8465:8450", limit: 30, verbose: true} }}
svn table.PNG

Output the last 30 entries from trunk.

{{ svn.table{ path: "public/dekiwiki/trunk", limit: 30} }}
  

  


Known issues

Bug#SummaryStatusOpened ByAssigned ToSeverity
#4905encode fields with sensitive informationnewcoreygfeature
#4724Using iframe Extension With Scrolling Results in Errornewonorbitminor
#4699Access Restrictions on a Deki Service/Extensionnewrawlincfeature

Development log

RevisionDateAuthorMessage
r99618/13/2008 6:17:10 PMmaximmDeki Extension - Subversion

* Displayed date now uses the wiki's culture.

4766: SVN service: date format in subversion extension needs to use the wiki's language/culture settings

Thanks http://wiki.developer.mindtouch.com/User:demonicus
r97488/1/2008 10:41:58 PMstevebDeki (trunk):

DekiServices:

* updated service-type in service blueprint (passive attribute that's not yet used anyway)
r97277/31/2008 7:11:51 PMstevebDeki (trunk):

Services/Scripts`:

* iframe.xml: new script added

* updated all services/scripts to point their help URI to wiki.developer.mindtouch.com (instead of opengarden)
r88205/31/2008 4:07:18 PMstevebDeki Wiki (trunk):

* redist: updated redistributable files

* misc:

* updated all occurrences of 'MindTouch Deki Wiki' to 'MindTouch Deki'

* extended all copyright notices to 2008
r87635/29/2008 6:06:42 PMstevebDeki Wiki (trunk):

* misc: removed an extra space from the default copyright notice

Tools:

* DekiExt.php: added 'protocol' attribute to <uri> element

* GoogleAppEngine: added sample application
r82904/27/2008 10:53:35 PMstevebDeki Wiki (trunk):

* Misc: fixed xpath expressions

* DekiXmlParser:

* Xinha adds garbage to 'onclick', 'onblur', etc. attributes; detect it and remove it

* only process edit links in main content body

* remove 'class' and 'function' attributes on content before sending it to a function as input argument

* PageBL: moved content validation methods to DekiScriptLibrary

DekiServices:

* DekiScriptService: convert script arguments to declared type

* SubversionService: DON'T assume a default location for the SVN executable

DekiScript:

* Misc: added 'Convert()' method to convert from any DekiScriptLiteral to any other (when supported)

* DekiScriptAccess: allow xpath expression on XML values

* DekiScriptLibrary:

* added 'safe' XHTML content definition

* added 'web.checkuri' function to check for unsafe URIs

* added 'web.checkstyle' function to check for unsafe styles

* DekiScriptRuntime:

* allow iterating over XML values

* remove 'function' attribute on content before sending it to a function as input argument

* xhtml-safe.txt, xhtml-unsafe.txt: allow 'function' attribute on 'img', 'ul', 'ol', and 'textarea' elements

Tests:

* fixed xpath expressions

DesktopConnector:

* fixed xpath expressions

MWConverter-Test:

* updated tests
r81924/21/2008 5:13:40 AMstevebDekiWiki (trunk):

* updated DekiScript binary

* MISC: updated all relevant SIDs to new shorter format (e.g. sid://mindtouch.com/2006/11/dekiwiki) (NOTE: old SIDS are preserved for backwards compatibility)

* DekiXmlParser: evaluate attributes which have their value enclosed in double-curly braces
r76883/14/2008 8:37:52 PMmaximmDeki JiraService MantisService SubversionService TracService

* Updated div css classes
r76803/14/2008 7:18:55 PMmaximmDeki SubversionService

* Changed to css class DW-table SVN-table for the div

* Added class bg1 or bg2 on the <tr>
r76623/12/2008 9:06:27 PMmaximmDeki SubversionService

* Added stoponcopy option. Default is true
r76153/6/2008 11:57:38 PMmaximmLdapService, AdoDotNetService, SubversionService

* LdapService.cs: dont kill the service if unable to contact the ldap server.

* SubversionService.cs: tweaked the display of log message and bug fixes

* AdoDotNetService.cs: added more verbose method descriptions
r74962/29/2008 12:44:35 AMmaximmDeki Extensions

Trac, Jira, Mantis, Subversion:

* Added links to documentation
r73972/25/2008 8:15:49 PMmaximmDeki extensions: MantisService and SubversionService

MantisService:

* Refactored to pass in output xdoc to inner functions to avoid Xdoc.Add calls

* BuildBugLink now used for table as well as link now. Displaying reporter and handler as the hover-over title

SubversionService:

* Initial implementation allows "svn log" like output.

* Revisions can optionally be linked to a web gui that display revision info (diffs, etc)

* Bug numbers in log messages can be linked to a web based bug tracker. Bug prefixes: bug, fixes, bugfix, #123

Tag page
Viewing 8 of 8 comments: view all
How does one go about overcoming this error?

"Server certificate verification failed: certificate issued for a different hostname, issuer is not trusted"

I guess I need a proper SSL certificate.
Posted 06:34, 29 Apr 2008
This extension is great. I modified it slightly to handle bugtraq svn properties or to allow a configurable bug id regular expression. I posted the source and notes at: http://wiki.developer.mindtouch.com/MindTouch_Deki/Community_Contributions/Extensions/Subversion_(with_support_for_bugtraq_properties)
Posted 15:45, 1 Jul 2008
This is a really great extension, however there is one thing that annoys me a lot: The date format. =(
Would it be too hard to make it configurable? Or if it is, then use some kind of a standard instead of the current format, for example YYYY-MM-DD HH:MM:SS without the AM/PM or something? The current American version is unreadable for anyone who is from anywhere else than US.
Posted 11:47, 13 Aug 2008
@demonicus, excellent suggestion. it's so easy to forget proper international etiquette. i filed a bug on it: http://bugs.developer.mindtouch.com/view.php?id=4766 edited 13:53, 13 Aug 2008
Posted 13:52, 13 Aug 2008
@demonicus. good find. Should be fixed in Killen Woods
Posted 18:18, 13 Aug 2008
Another bug/feature I found was also about the date/time. I committed a change to a file at 17:40(5:40PM), and when I look at the svn log with my svn client, it shows the correct time, also I checked the version control server's time too and it was correct, and on the server the log showed the correct time.

However, when I use this subversion extension, the time is 3 hours behind, showing 2:40PM as the commit time. I have changed the timezone settings from the personal preferences to GMT+3. So, is Deki assuming that the server is always at GMT+0 and it's trying to adjust the date wrong or something?
Posted 14:51, 17 Aug 2008
Update to my previous post: I noticed that our Deki server is actually at GMT+0 zone, I think it was the default timezone or something?
Anyways, could be useful to have a configurable timezone for the Deki itself, as the server time doesn't have to mean that it's the wanted Deki timezone aswell. At least I can find a few instances where it might need to be different from the server's time.
Posted 15:40, 17 Aug 2008
Hi I had an issue with svn.table where if I used a path with spaces or special characters I would receive an error. In command line svn the solution would be to use backslash as an escape character. This does not work with svn.table what does work is using double backslash.
Posted 07:21, 21 Aug 2008
Viewing 8 of 8 comments: view all
You must login to post a comment.