summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan <king-jan1999@hotmail.de>2018-03-11 18:46:35 +0100
committerJan <king-jan1999@hotmail.de>2018-03-11 18:55:04 +0100
commit2824a72552f6c54585cca97d5ffa9477aa8f8269 (patch)
tree76165d2f233ddd9d6e530b4c9b69ca1718ea32bb
parentafd2d381119c3778140c3dd63c7ef24ecdb4c62e (diff)
downloadgitlab-ce-2824a72552f6c54585cca97d5ffa9477aa8f8269.tar.gz
Manually escape '#' when building relative uris, fixes #42459
-rw-r--r--changelogs/unreleased/fix-42459---in-branch.yml5
-rw-r--r--lib/banzai/filter/relative_link_filter.rb2
2 files changed, 6 insertions, 1 deletions
diff --git a/changelogs/unreleased/fix-42459---in-branch.yml b/changelogs/unreleased/fix-42459---in-branch.yml
new file mode 100644
index 00000000000..26cc2046206
--- /dev/null
+++ b/changelogs/unreleased/fix-42459---in-branch.yml
@@ -0,0 +1,5 @@
+---
+title: Fix relative uri when "#" is in branch name
+merge_request:
+author: Jan
+type: fixed
diff --git a/lib/banzai/filter/relative_link_filter.rb b/lib/banzai/filter/relative_link_filter.rb
index 9bdedeb6615..262458a872a 100644
--- a/lib/banzai/filter/relative_link_filter.rb
+++ b/lib/banzai/filter/relative_link_filter.rb
@@ -84,7 +84,7 @@ module Banzai
relative_url_root,
project.full_path,
uri_type(file_path),
- Addressable::URI.escape(ref),
+ Addressable::URI.escape(ref).gsub('#', '%23'),
Addressable::URI.escape(file_path)
].compact.join('/').squeeze('/').chomp('/')