--- cvsspam-0.2.12/cvsspam.rb 2009-04-23 19:19:04.000000000 +0300 +++ cvsspam-0.2.12/cvsspam.rb 2010-04-07 18:22:52.000000000 +0300 @@ -560,6 +560,10 @@ jiraSub = proc { |match| "#{match}" } +tracSub = proc { |match| + match =~ /([0-9]+)/ + "#{match}" +} ticketSub = proc { |match| match =~ /([0-9]+)/ "#{match}" @@ -930,15 +934,15 @@ # Link to Trac class TracFrontend < WebFrontend 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 +953,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 @@ -1699,6 +1703,7 @@ $choraURL = nil $cvswebURL = nil $tracURL = nil +$tracProjects = nil $from_address = nil $subjectPrefix = nil $files_in_subject = false; @@ -1780,6 +1785,24 @@ fail "No email recipients defined" end +if $viewcvsURL != nil || $cvswebURL !=nil + if $repository_name == GUESS + # use the last component of the repository path as the name + ENV['CVSROOT'] =~ /([^\/]+$)/ + $repository_name = $1 + end +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 $repository_name.index(path) == 0 + $tracURL = "#{$tracURL}/#{project}" + break + end + end +end + if $viewcvsURL != nil $viewcvsURL << "/" unless $viewcvsURL =~ /\/$/ $frontend = ViewCVSFrontend.new($viewcvsURL) @@ -1789,23 +1812,15 @@ $cvswebURL << "/" unless $cvswebURL =~ /\/$/ $frontend = CVSwebFrontend.new($cvswebURL) elsif $tracURL !=nil - $tracURL << "/" unless $tracURL =~ /\/$/ $frontend = TracFrontend.new($tracURL) else $frontend = NoFrontend.new end -if $viewcvsURL != nil || $cvswebURL !=nil - if $repository_name == GUESS - # use the last component of the repository path as the name - ENV['CVSROOT'] =~ /([^\/]+$)/ - $frontend.repository_name = $1 - elsif $repository_name != nil - $frontend.repository_name = $repository_name - end +if $repository_name != nil + $frontend.repository_name = $repository_name end - if $bugzillaURL != nil commentSubstitutions['\b[Bb](?:[Uu][Gg])?\s*[#:]?\s*\[?[0-9]+\]?'] = bugzillaSub end @@ -1818,7 +1833,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