summaryrefslogtreecommitdiff
path: root/lib/gitlab/gfm
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzegorz@gitlab.com>2017-09-20 09:55:54 +0000
committerRémy Coutable <remy@rymai.me>2017-09-20 09:55:54 +0000
commitb49bd4d3bbdceb2a62ce211ac4b094d92fa3bf04 (patch)
tree752e6da1423b4b0abca12331601fa81e4ab53315 /lib/gitlab/gfm
parentd247841b48c6ad5b3891671e30bedeb409bfad30 (diff)
downloadgitlab-ce-b49bd4d3bbdceb2a62ce211ac4b094d92fa3bf04.tar.gz
Fix rewriting issue references with group milestones
Diffstat (limited to 'lib/gitlab/gfm')
-rw-r--r--lib/gitlab/gfm/reference_rewriter.rb6
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