From 603e04bc21b07b8b6f70e972383ea2f29d0bfce0 Mon Sep 17 00:00:00 2001
From: Marin Jankovski <marin@gitlab.com>
Date: Tue, 20 May 2014 15:58:30 +0200
Subject: [PATCH] Make sure slashes are handled properly.

---
 app/helpers/gitlab_markdown_helper.rb | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/app/helpers/gitlab_markdown_helper.rb b/app/helpers/gitlab_markdown_helper.rb
index 2d226adb2a495..b8891d801aaed 100644
--- a/app/helpers/gitlab_markdown_helper.rb
+++ b/app/helpers/gitlab_markdown_helper.rb
@@ -102,6 +102,8 @@ def rebuild_path(path)
     path.gsub!(/(#.*)/, "")
     id = $1 || ""
     file_path = relative_file_path(path)
+    file_path = sanitize_slashes(file_path)
+
     [
       Gitlab.config.gitlab.relative_url_root,
       @project.path_with_namespace,
@@ -110,6 +112,12 @@ def rebuild_path(path)
     ].compact.join("/").gsub(/^\/*|\/*$/, '') + id
   end
 
+  def sanitize_slashes(path)
+    path[0] = "" if path.start_with?("/")
+    path.chop if path.end_with?("/")
+    path
+  end
+
   def relative_file_path(path)
     requested_path = @path
     nested_path = build_nested_path(path, requested_path)
-- 
GitLab