diff options
author | Grzegorz Bizon <grzegorz@gitlab.com> | 2017-09-20 12:55:54 +0300 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2017-09-20 12:55:54 +0300 |
commit | b49bd4d3bbdceb2a62ce211ac4b094d92fa3bf04 (patch) | |
tree | 752e6da1423b4b0abca12331601fa81e4ab53315 /lib/gitlab/gfm | |
parent | d247841b48c6ad5b3891671e30bedeb409bfad30 (diff) |
Fix rewriting issue references with group milestones
Diffstat (limited to 'lib/gitlab/gfm')
-rw-r--r-- | lib/gitlab/gfm/reference_rewriter.rb | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/gitlab/gfm/reference_rewriter.rb b/lib/gitlab/gfm/reference_rewriter.rb index b984492d369..455814a9159 100644 --- a/lib/gitlab/gfm/reference_rewriter.rb +++ b/lib/gitlab/gfm/reference_rewriter.rb @@ -29,6 +29,8 @@ module Gitlab # http://gitlab.com/some/link/#1234, and code `puts #1234`' # class ReferenceRewriter + RewriteError = Class.new(StandardError) + def initialize(text, source_project, current_user) @text = text @source_project = source_project @@ -61,6 +63,10 @@ module Gitlab cross_reference = build_cross_reference(referable, target_project) return reference if reference == cross_reference + if cross_reference.nil? + raise RewriteError, "Unspecified reference detected for #{referable.class.name}" + end + new_text = before + cross_reference + after substitution_valid?(new_text) ? cross_reference : reference end |