1 --- cvsspam-0.2.12/cvsspam.rb 2009-04-23 19:19:04.000000000 +0300
2 +++ cvsspam-0.2.12/cvsspam.rb 2010-04-07 18:22:52.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}")
49 $files_in_subject = false;
50 @@ -1780,6 +1785,24 @@
51 fail "No email recipients defined"
54 +if $viewcvsURL != nil || $cvswebURL !=nil
55 + if $repository_name == GUESS
56 + # use the last component of the repository path as the name
57 + ENV['CVSROOT'] =~ /([^\/]+$)/
58 + $repository_name = $1
62 +# if $tracProjects is set, process repository_name to setup new $tracURL
63 +if $tracProjects != nil && $tracURL != nil
64 + $tracProjects.sort {|a,b| b[1] <=> a[1] }.each do |project, path|
65 + if $repository_name.index(path) == 0
66 + $tracURL = "#{$tracURL}/#{project}"
73 $viewcvsURL << "/" unless $viewcvsURL =~ /\/$/
74 $frontend = ViewCVSFrontend.new($viewcvsURL)
75 @@ -1789,23 +1812,15 @@
76 $cvswebURL << "/" unless $cvswebURL =~ /\/$/
77 $frontend = CVSwebFrontend.new($cvswebURL)
79 - $tracURL << "/" unless $tracURL =~ /\/$/
80 $frontend = TracFrontend.new($tracURL)
82 $frontend = NoFrontend.new
85 -if $viewcvsURL != nil || $cvswebURL !=nil
86 - if $repository_name == GUESS
87 - # use the last component of the repository path as the name
88 - ENV['CVSROOT'] =~ /([^\/]+$)/
89 - $frontend.repository_name = $1
90 - elsif $repository_name != nil
91 - $frontend.repository_name = $repository_name
93 +if $repository_name != nil
94 + $frontend.repository_name = $repository_name
98 if $bugzillaURL != nil
99 commentSubstitutions['\b[Bb](?:[Uu][Gg])?\s*[#:]?\s*\[?[0-9]+\]?'] = bugzillaSub
101 @@ -1818,7 +1833,9 @@
103 commentSubstitutions['\b[a-zA-Z]+-[0-9]+\b'] = jiraSub
105 -if $ticketURL != nil
107 + commentSubstitutions['\b[Tt][Ii][Cc][Kk][Ee][Tt]\s*#?[0-9]+\b'] = tracSub
108 +elsif $ticketURL != nil
109 commentSubstitutions['\b[Tt][Ii][Cc][Kk][Ee][Tt]\s*#?[0-9]+\b'] = ticketSub