---- cvsspam-0.2.12/cvsspam.rb 2009-04-23 20:54:40.224507514 +0300
-+++ cvsspam/cvsspam.rb 2009-04-23 20:53:58.177842646 +0300
-@@ -560,6 +560,10 @@
- jiraSub = proc { |match|
- "<a href=\"#{$jiraURL.sub(/%s/, match)}\">#{match}</a>"
- }
-+tracSub = proc { |match|
-+ match =~ /([0-9]+)/
-+ "<a href=\"#{"$tracURL/ticket/%s".sub(/%s/, $1)}\">#{match}</a>"
-+}
- ticketSub = proc { |match|
- match =~ /([0-9]+)/
- "<a href=\"#{$ticketURL.sub(/%s/, $1)}\">#{match}</a>"
-@@ -929,16 +933,39 @@
-
- # Link to Trac
- class TracFrontend < WebFrontend
-+
-+ def base_url()
-+ url = @base_url
-+
-+ module_path = '/'
-+ if Repository.count == 1
-+ rep = Repository.array.first
-+ module_path << rep.common_prefix
-+ end
-+
-+ # if $tracProjects is set process repository_name to setup new $tracURL
-+ if $tracProjects != nil && $tracURL != nil
-+ $tracProjects.sort {|a,b| b[1] <=> a[1] }.each do |project, path|
-+ if module_path.index(path) == 0
-+ url = "#{@base_url}/#{project}"
-+ break
-+ end
-+ end
-+ end
-+ blah("base_url: '#{url}'")
-+ return url
-+ end
-+
- def path_url(path, tag)
-- add_repo("#{@base_url}browser/#{urlEncode(path)}")
-+ add_repo("#{base_url}/browser/#{urlEncode(path)}")
- end
-
- def version_url(path, version)
-- add_repo("#{@base_url}browser/#{urlEncode(path)}?rev=#{version}")
-+ add_repo("#{base_url}/browser/#{urlEncode(path)}?rev=#{version}")
- end
-
- def diff_url(file)
-- add_repo("#{@base_url}changeset/#{file.toVer}")
-+ add_repo("#{base_url}/changeset/#{file.toVer}")
- end
-
- protected
-@@ -949,7 +976,7 @@
- else
- log_anchor = ""
- end
-- add_repo("#{@base_url}log/#{urlEncode(file.path)}#{log_anchor}")
-+ add_repo("#{base_url}/log/#{urlEncode(file.path)}#{log_anchor}")
- end
- end
-
-@@ -1693,6 +1720,7 @@
- $ticketURL = nil
- $issueURL = nil
- $viewcvsURL = nil
-+$tracProjects = nil
- $xplannerIterationURL = nil
- $xplannerProjectURL = nil
- $xplannerStoryURL = nil
-@@ -1818,7 +1847,9 @@
- if $jiraURL != nil
- commentSubstitutions['\b[a-zA-Z]+-[0-9]+\b'] = jiraSub
- end
--if $ticketURL != nil
-+if $tracURL != nil
-+ commentSubstitutions['\b[Tt][Ii][Cc][Kk][Ee][Tt]\s*#?[0-9]+\b'] = tracSub
-+elsif $ticketURL != nil
- commentSubstitutions['\b[Tt][Ii][Cc][Kk][Ee][Tt]\s*#?[0-9]+\b'] = ticketSub
- end
- if $issueURL != nil