--- /dev/null
+--- cvsspam-0.2.12/svn_cvsspam.rb~ 2009-03-04 21:48:14.127883013 +0200
++++ cvsspam-0.2.12/svn_cvsspam.rb 2009-03-04 21:40:29.874933266 +0200
+@@ -831,6 +831,31 @@
+ end
+ end
+
++# Link to Trac
++class TracFrontend < WebFrontend
++ def path_url(path, tag)
++ add_repo("#{@base_url}browser/#{urlEncode(path)}")
++ end
++
++ def version_url(path, version)
++ add_repo("#{@base_url}browser/#{urlEncode(path)}?rev=#{version}")
++ end
++
++ def diff_url(file)
++ add_repo("#{@base_url}changeset/#{file.toVer}")
++ end
++
++ protected
++
++ def log_url(file)
++ if file.toVer
++ log_anchor = "?rev=#{file.toVer}"
++ else
++ log_anchor = ""
++ end
++ add_repo("#{@base_url}log/#{urlEncode(file.path)}#{log_anchor}")
++ end
++end
+
+ # in need of refactoring...
+
+@@ -1333,6 +1358,7 @@
+ $viewcvsURL = nil
+ $choraURL = nil
+ $cvswebURL = nil
++$tracURL = nil
+ $from_address = nil
+ $subjectPrefix = nil
+ $files_in_subject = false;
+@@ -1419,6 +1445,9 @@
+ elsif $cvswebURL !=nil
+ $cvswebURL << "/" unless $cvswebURL =~ /\/$/
+ $frontend = CVSwebFrontend.new($cvswebURL)
++elsif $tracURL !=nil
++ $tracURL << "/" unless $tracURL =~ /\/$/
++ $frontend = TracFrontend.new($tracURL)
+ else
+ $frontend = NoFrontend.new
+ end