summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2016-03-21 14:12:49 +0100
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2016-03-21 14:12:49 +0100
commitdb8f70d5088cc1e0172fd6b94fc4628bd83aa4a4 (patch)
treee8cd8c0370670fac0d636096888a81bcf3b001a7
parent91963267a0b4573fa193f5b7b11e0a793ea1fb9c (diff)
downloadgitlab-ce-db8f70d5088cc1e0172fd6b94fc4628bd83aa4a4.tar.gz
Do not rewrite reference if already a cross reference
-rw-r--r--lib/gitlab/gfm/reference_rewriter.rb6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/gitlab/gfm/reference_rewriter.rb b/lib/gitlab/gfm/reference_rewriter.rb
index edc96a5e83b..a1c6ee7bd69 100644
--- a/lib/gitlab/gfm/reference_rewriter.rb
+++ b/lib/gitlab/gfm/reference_rewriter.rb
@@ -49,12 +49,14 @@ module Gitlab
def unfold_reference(reference, match, target_project)
before = @text[0...match.begin(0)]
after = @text[match.end(0)..-1]
- referable = find_referable(reference)
+ referable = find_referable(reference)
return reference unless referable
+
cross_reference = referable.to_reference(target_project)
- new_text = before + cross_reference + after
+ return reference if reference == cross_reference
+ new_text = before + cross_reference + after
substitution_valid?(new_text) ? cross_reference : reference
end