diff --git a/redmine/Dockerfile b/redmine/Dockerfile index 2dfb1002..add01b35 100644 --- a/redmine/Dockerfile +++ b/redmine/Dockerfile @@ -11,3 +11,6 @@ RUN apt-get update && \ # no longer needed after ruby-openid-2.9.2 is used #ADD hmac.diff /tmp/hmac.diff #RUN cd / && patch -p0 < /tmp/hmac.diff + +ADD commitlog-references-oshash.diff /tmp/commitlog-references-oshash.diff +RUN cd /usr/src/redmine && patch -p1 < /tmp/commitlog-references-oshash.diff diff --git a/redmine/commitlog-references-oshash.diff b/redmine/commitlog-references-oshash.diff new file mode 100644 index 00000000..389ebe54 --- /dev/null +++ b/redmine/commitlog-references-oshash.diff @@ -0,0 +1,18 @@ +diff --git a/app/models/changeset.rb b/app/models/changeset.rb +index 4256f0589..b5ef7b298 100644 +--- a/app/models/changeset.rb ++++ b/app/models/changeset.rb +@@ -126,11 +126,11 @@ class Changeset < ActiveRecord::Base + + referenced_issues = [] + +- comments.scan(/([\s\(\[,-]|^)((#{kw_regexp})[\s:]+)?(#\d+(\s+@#{TIMELOG_RE})?([\s,;&]+#\d+(\s+@#{TIMELOG_RE})?)*)(?=[[:punct:]]|\s|<|$)/i) do |match| ++ comments.scan(/([\s\(\[,-]|^)((#{kw_regexp})[\s:]+)?(OS#\d+(\s+@#{TIMELOG_RE})?([\s,;&]+#\d+(\s+@#{TIMELOG_RE})?)*)(?=[[:punct:]]|\s|<|$)/i) do |match| + action, refs = match[2].to_s.downcase, match[3] + next unless action.present? || ref_keywords_any + +- refs.scan(/#(\d+)(\s+@#{TIMELOG_RE})?/).each do |m| ++ refs.scan(/OS#(\d+)(\s+@#{TIMELOG_RE})?/).each do |m| + issue, hours = find_referenced_issue_by_id(m[0].to_i), m[2] + if issue && !issue_linked_to_same_commit?(issue) + referenced_issues << issue