Vendor MindTouch
Type Native
Categories Developer
Requires MindTouch 1.9 or later
OS Restriction None
Status Stable
License Free/Open Source
SID (service id) sid://mindtouch.com/2008/02/svn
Assembly mindtouch.deki.services

Install Extension
URL of your MindTouch install (ex: http://www.mindtouch.com)
    

 

Table of Contents

Description

This extension contains functions for embeding Subversion (SVN) commit logs with automatic links to a bug tracker.

See also How to add an extension, Using the Extension Dialog, Learn about DekiScript, Extensions Directory.

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.


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
#7313SQL extension isn't sortable for table optionassignedcoreygSteveBminor
#7513mindtouch 9.08.3 Jira extension failureassignedmkinsleyMaxMmajor
#7613Convert links between transcluded content to internal links (PDF)newbohappafeature
#7600Prince PDF saves Russian symbols incorrectlynewDmitryAmajor
#7527missing an highlighter for SAS codenewicoappsfeature
#7490A subversion table method fails on a project with a space in the pathnewtcplompminor
#7474WMV doesn't play on private page even with creds passed through urlnewcoreygminor
#7473AVI files won't embed through the media extensionnewcoreygminor
#7175Services not starting upon API restartassignedbrianharnecminor
#7449PHP Extension brigdge: remove 'xmlwriter' requirementnewSteveBminor
#5708Mantis extension does not support subprojectsnewMaxMminor
#5258Trac Plugin Failsnewsvasaunemajor
#6207Template:TagCloud use site.tags to build cloud based on all tags on the sitenewSteveBminor
#5457DHTML extension: add support for more types of input controlsnewSteveBminor
#6822Deki users cannot view public filters when using the JIRA extensionnewbohappamajor
#6240Advanced Search Extension not returning resultsassignedcoreygSteveBminor
#7011Drafts - Remove async behavior from serviceassignedMaxMMaxMminor
#7189LDAP process crashesassignedmrrMaxMmajor
#6405Field with username/IP does not contain search enginenewDmitryAminor
#7279image.slideshow() should preserve aspect ratios by defaultnewneilwminor

Development log

RevisionDateAuthorMessage
r177061/26/2010 9:13:26 PMarnecDeki (trunk): reviewed SteveB

* new binaries

* propagated Tuple to Tuplet change from Dream

* propagated HttpUtil move to Mindtouch.Web namespace from Dream

* propagated CrytpUtil to RSAUtil change from Dream

* Added service Info for DekiChangeSubscriptionService

* Replaced .zip and .mtap extensions from import/export tool with .mtarc and .mtapp
r1745112/21/2009 6:20:32 PMarnecDeki (trunk): reviewed by SteveB

* new binaries

* renamed Co.Invoke back to Coroutine.Invoke
r1688511/13/2009 6:09:08 PMstevebDeki (trunk):

* updated binaries

* fixed breaking Dream changes
r1688111/13/2009 4:24:57 PMstevebDeki (trunk): Reviewed by ArneC

* updated binaries

* fixed breaking dream changes
r1659210/22/2009 3:46:17 AMstevebDeki (trunk): not-reviewed; only meta-data changes

* misc:

* changed all help uri starting with http://wiki.developer.mindtouch.com/MindTouch_Deki/Extensions/ to http://developer.mindtouch.com/App_Catalog/

* changed all help uri starting with http://developer.mindtouch.com/Deki/Extensions/ to http://developer.mindtouch.com/App_Catalog/
r1659110/22/2009 3:29:54 AMstevebDeki (trunk): not-reviewed; no functional changes; only comments and meta-data

* misc:

* replaced all copyright chars with (c)

* made AssemblyInfo meta-data consistent

* added missing source code copyright notice to some files

* DekiScript: changed license from LGPL to Apache 2
r1645210/14/2009 1:07:18 PMstevebDeki (trunk): (part 2)

* changed Deki to Core in comments and description strings

* removed unused namespace declarations
r152287/19/2009 8:41:34 AMstevebDeki (trunk):

* misc:

* removed superfluous namespace declarations

* updated documentation URI to http://developer.mindtouch.com/Deki/
r148766/22/2009 7:40:04 PMstevebDeki (trunk):

* misc: replaced InvariantCulture with Ordinal for string comparisons
r126271/20/2009 5:42:55 PMstevebDeki (trunk):

* misc: updated and normalized all copyright notices
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

Files 1

FileSizeDateAttached by 
 svn table.PNG
Example of embedded SVN log
74.73 kB00:13, 29 Feb 2008MaxMActions
Viewing 13 of 13 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
@stephencarr, i have the same problem:
/p[2]/span, function 'Table' failed with response:

SVN error: svn: PROPFIND request failed on '/svn/myrepo'
svn: PROPFIND of '/svn/myrepo': Server certificate verification failed: certificate issued for a different hostname, issuer is not trusted (https://example.com)

any solution anybody?
Posted 08:36, 6 Nov 2008
the solution to fix this problem is to log into the server that is running the dekiwiki site and on the cli run something like this:
sudo su - dekiwiki
svn list https://example.com/mysvnroot
and accept the issuer permanently (p) edited 14:31, 12 Nov 2008
Posted 13:27, 12 Nov 2008
Is is possible to set username and password within extension calling in Deki page?
That way there could be set different SVN rights for different pages and to hide SVN from using from different Deki user groups.
Posted 16:20, 3 Feb 2010
@varosi I think that would be easily done with some modifications to the existing extension by taking user credentials through the function invocation and then storing the credentials in user properties, which can only be read by the user himself and nobody else.
Posted 20:01, 3 Feb 2010
It'll be good feature to have access rights for extensions. For example, SVN could be accessible only for developers.
Posted 16:30, 8 Feb 2010
Viewing 13 of 13 comments: view all
You must login to post a comment.