diff -Naur mantis-1.0.7/config_defaults_inc.php mantis-1.0.7_mine/config_defaults_inc.php
--- mantis-1.0.7/config_defaults_inc.php	2007-04-01 10:09:32.000000000 +0200
+++ mantis-1.0.7_mine/config_defaults_inc.php	2007-08-27 17:08:48.000000000 +0200
@@ -1071,6 +1071,24 @@
 	# eg: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/mantisbt/mantisbt/
 	$g_cvs_web				= '';
 
+	# --- SVN linking ---------------
+	# Converts SVN filenames into URLs pointing to your WebSVN server
+	# (e.g.: 'SVN:513:trunk/myproject/readme.txt')
+	# 
+	# insert the URL to your WebSVN server
+	# eg: http://www.mydomain.org/WebSVN/
+	# (include trailing slash, no php filename)
+	$g_svn_web				= '';
+	
+	# the WebSVN name of the repository
+	# (WebSVNs $config->addRepository())
+	$g_svn_web_repname      = '';
+
+	# when showing a file, WebSVN can either display
+	# a diff with the previous version (ON) or
+	# the whole file contents (OFF).
+	$g_svn_web_showdiff      = ON;
+
 	# --- Source Control Integration ------
 
 	# For open source projects it is expected that the notes be public, however,
diff -Naur mantis-1.0.7/core/string_api.php mantis-1.0.7_mine/core/string_api.php
--- mantis-1.0.7/core/string_api.php	2007-03-06 08:00:33.000000000 +0100
+++ mantis-1.0.7_mine/core/string_api.php	2007-09-14 12:18:04.000000000 +0200
@@ -101,6 +101,7 @@
 		$p_string = string_process_bug_link( $p_string );
 		$p_string = string_process_bugnote_link( $p_string );
 		$p_string = string_process_cvs_link( $p_string );
+		$p_string = string_process_svn_link( $p_string );
 
 		return $p_string;
 	}
@@ -120,6 +121,7 @@
 		$t_string = string_process_bug_link( $t_string, /* anchor */ true, /* detailInfo */ false, /* fqdn */ true );
 		$t_string = string_process_bugnote_link( $t_string, /* anchor */ true, /* detailInfo */ false, /* fqdn */ true );
 		$t_string = string_process_cvs_link( $t_string );
+		$t_string = string_process_svn_link( $t_string );
 
 		# another escaping to escape the special characters created by the generated links
 		$t_string = string_html_specialchars( $t_string );
@@ -143,6 +145,7 @@
 		$p_string = string_process_bug_link( $p_string, false );
 		$p_string = string_process_bugnote_link( $p_string, false );
 		$p_string = string_process_cvs_link( $p_string, false );
+		$p_string = string_process_svn_link( $p_string, false );
 
 		return $p_string;
 	}
@@ -231,6 +234,47 @@
 	}
 
 	# --------------------
+	# process the $p_string and convert filenames in the formats
+	#  SVN:rev:U   full/path/filename.ext
+	#  SVN:rev:
+	# into URLs pointing to the WebSVN server.
+	# 'rev' is the revision number.
+	# 'U   full/path/filename.ext' is the output format
+	# of 'svnlook changed'.
+    # 
+	# if $p_include_anchor is true, include an <a href="..."> tag,
+	#  otherwise, just insert the URL as text
+	function string_process_svn_link( $p_string, $p_include_anchor=true ) {
+	    $t_string = $p_string;
+		$t_svn_web = config_get( 'svn_web' );
+		$t_svn_web_repname = config_get( 'svn_web_repname' );
+		$t_svn_web_showdiff = config_get( 'svn_web_showdiff' );
+		$t_svn_web_file_page = $t_svn_web_showdiff ? "diff.php" : "filedetails.php";
+
+        $t_status['A '] = 'added:    ';
+        $t_status['D '] = 'deleted:  ';
+        $t_status['U '] = 'modified: ';
+        $t_status['_U'] = 'props:    ';
+        $t_status['UU'] = 'mod+prop: ';
+        
+		if ( $p_include_anchor ) {
+            $t_file_replace_with = "\$t_status['\\2'].'<a href=\"'.\$t_svn_web.\$t_svn_web_file_page.'?repname='.\$t_svn_web_repname.'&sc=1&path='.urlencode('/\\3').'&rev=\\1\" target=\"_blank\">\\3</a>'";
+            $t_rev_replace_with  = 'Revision: <a href="'.$t_svn_web.'listing.php?repname='.$t_svn_web_repname.'&sc=1&path=%2F&rev=\\1" target="_blank">\\1</a>';
+        } else {
+            $t_file_replace_with = "\$t_status['\\2'].': \\3 - '.\$t_svn_web.\$t_svn_web_file_page.'?repname='.\$t_svn_web_repname.'&sc=1&path='.urlencode('/\\3').'&rev=\\1'";
+            $t_rev_replace_with  = 'Revision: \\1 - '.$t_svn_web.'listing.php?repname='.$t_svn_web_repname.'&sc=1&path=%2F&rev=\\1';
+        }
+        # files
+		$t_string = preg_replace( '/SVN:(\d+):([\w\s]{2})\s{2}([\/\w\.]+)/e',
+							 $t_file_replace_with,
+							 $t_string );
+        # revisions
+		$t_string = preg_replace( '/^SVN:Revision:\s*(\d+)/m',
+							 $t_rev_replace_with,
+							 $t_string );
+        return $t_string;
+	}
+	# --------------------
 	# Process $p_string, looking for bug ID references and creating bug view
 	#  links for them.
 	#
