Index: app/models/changeset.rb =================================================================== --- app/models/changeset.rb (revision 2731) +++ app/models/changeset.rb (working copy) @@ -80,7 +80,8 @@ # status and optional done ratio applied fix_status = IssueStatus.find_by_id(Setting.commit_fix_status_id) done_ratio = Setting.commit_fix_done_ratio.blank? ? nil : Setting.commit_fix_done_ratio.to_i - + project_list = [repository.project] + repository.project.ancestors + kw_regexp = (ref_keywords + fix_keywords).collect{|kw| Regexp.escape(kw)}.join("|") return if kw_regexp.blank? @@ -90,13 +91,16 @@ # find any issue ID in the comments target_issue_ids = [] comments.scan(%r{([\s\(,-]|^)#(\d+)(?=[[:punct:]]|\s|<|$)}).each { |m| target_issue_ids << m[1] } - referenced_issues += repository.project.issues.find_all_by_id(target_issue_ids) + #referenced_issues += repository.project.issues.find_all_by_id(target_issue_ids) + project_list.each {|project| referenced_issues += project.issues.find_all_by_id(target_issue_ids)} end comments.scan(Regexp.new("(#{kw_regexp})[\s:]+(([\s,;&]*#?\\d+)+)", Regexp::IGNORECASE)).each do |match| action = match[0] target_issue_ids = match[1].scan(/\d+/) - target_issues = repository.project.issues.find_all_by_id(target_issue_ids) + target_issues = [] + project_list.each {|project| target_issues += project.issues.find_all_by_id(target_issue_ids)} + #target_issues = repository.project.issues.find_all_by_id(target_issue_ids) if fix_status && fix_keywords.include?(action.downcase) # update status of issues logger.debug "Issues fixed by changeset #{self.revision}: #{issue_ids.join(', ')}." if logger && logger.debug? Index: app/views/issues/_changesets.rhtml =================================================================== --- app/views/issues/_changesets.rhtml (revision 2731) +++ app/views/issues/_changesets.rhtml (working copy) @@ -1,7 +1,7 @@ <% changesets.each do |changeset| %>

<%= link_to("#{l(:label_revision)} #{changeset.revision}", - :controller => 'repositories', :action => 'revision', :id => @project, :rev => changeset.revision) %>
+ :controller => 'repositories', :action => 'revision', :id => changeset.repository.project, :rev => changeset.revision) %>
<%= authoring(changeset.committed_on, changeset.author) %>

<%= textilizable(changeset, :comments) %>