diff options
author | Harald Welte <laforge@gnumonks.org> | 2021-02-10 15:38:10 +0000 |
---|---|---|
committer | Harald Welte <laforge@osmocom.org> | 2021-02-10 16:57:26 +0100 |
commit | 57b6011e28a32670f96e6de215a8c0ada70d48c9 (patch) | |
tree | 43fff95c81eb084c8e07f0689537b1324087b107 /redmine/commitlog-references-oshash.diff | |
parent | 60f4d395004ac4a02f956077cb6c23d2e91e66b1 (diff) |
redmine: Make changeset keywords work with OS# annotation
In Osmocom we annotate osmocom issues as OS#1234 and not just as #1234,
in order to distinguish them from redmine or coverity issues.
Change-Id: I04a97434433a022f47a759a8219458e8772ae71e
Related: OS#5005, OS#3291
Diffstat (limited to 'redmine/commitlog-references-oshash.diff')
-rw-r--r-- | redmine/commitlog-references-oshash.diff | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/redmine/commitlog-references-oshash.diff b/redmine/commitlog-references-oshash.diff new file mode 100644 index 0000000..389ebe5 --- /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 |