1 --- cvsspam-0.2.12/cvsspam.rb~ 2009-04-23 20:18:09.329309382 +0300
2 +++ cvsspam-0.2.12/cvsspam.rb 2009-04-23 19:19:04.000000000 +0300
4 jiraSub = proc { |match|
5 "<a href=\"#{$jiraURL.sub(/%s/, match)}\">#{match}</a>"
7 +tracSub = proc { |match|
9 + "<a href=\"#{"$tracURL/ticket/%s".sub(/%s/, $1)}\">#{match}</a>"
11 ticketSub = proc { |match|
13 "<a href=\"#{$ticketURL.sub(/%s/, $1)}\">#{match}</a>"
16 class TracFrontend < WebFrontend
17 def path_url(path, tag)
18 - add_repo("#{@base_url}browser/#{urlEncode(path)}")
19 + add_repo("#{@base_url}/browser/#{urlEncode(path)}")
22 def version_url(path, version)
23 - add_repo("#{@base_url}browser/#{urlEncode(path)}?rev=#{version}")
24 + add_repo("#{@base_url}/browser/#{urlEncode(path)}?rev=#{version}")
28 - add_repo("#{@base_url}changeset/#{file.toVer}")
29 + add_repo("#{@base_url}/changeset/#{file.toVer}")
37 - add_repo("#{@base_url}log/#{urlEncode(file.path)}#{log_anchor}")
38 + add_repo("#{@base_url}/log/#{urlEncode(file.path)}#{log_anchor}")
42 @@ -1772,6 +1784,24 @@
43 fail "No email recipients defined"
46 +if $viewcvsURL != nil || $cvswebURL !=nil
47 + if $repository_name == GUESS
48 + # use the last component of the repository path as the name
49 + ENV['CVSROOT'] =~ /([^\/]+$)/
50 + $repository_name = $1
54 +# if $tracProjects is set, process repository_name to setup new $tracURL
55 +if $tracProjects != nil && $tracURL != nil
56 + $tracProjects.sort {|a,b| b[1] <=> a[1] }.each do |project, path|
57 + if $repository_name.index(path) == 0
58 + $tracURL = "#{$tracURL}/#{project}"
65 $viewcvsURL << "/" unless $viewcvsURL =~ /\/$/
66 $frontend = ViewCVSFrontend.new($viewcvsURL)
67 @@ -1781,23 +1811,15 @@
68 $cvswebURL << "/" unless $cvswebURL =~ /\/$/
69 $frontend = CVSwebFrontend.new($cvswebURL)
71 - $tracURL << "/" unless $tracURL =~ /\/$/
72 $frontend = TracFrontend.new($tracURL)
74 $frontend = NoFrontend.new
77 -if $viewcvsURL != nil || $cvswebURL !=nil
78 - if $repository_name == GUESS
79 - # use the last component of the repository path as the name
80 - ENV['CVSROOT'] =~ /([^\/]+$)/
81 - $frontend.repository_name = $1
82 - elsif $repository_name != nil
83 - $frontend.repository_name = $repository_name
85 +if $repository_name != nil
86 + $frontend.repository_name = $repository_name
90 if $bugzillaURL != nil
91 commentSubstitutions['\b[Bb](?:[Uu][Gg])?\s*[#:]?\s*\[?[0-9]+\]?'] = bugzillaSub
95 commentSubstitutions['\b[a-zA-Z]+-[0-9]+\b'] = jiraSub
99 + commentSubstitutions['\b[Tt][Ii][Cc][Kk][Ee][Tt]\s*#?[0-9]+\b'] = tracSub
100 +elsif $ticketURL != nil
101 commentSubstitutions['\b[Tt][Ii][Cc][Kk][Ee][Tt]\s*#?[0-9]+\b'] = ticketSub