Commit 53bdcb53 authored by Andrey Kumanyaev's avatar Andrey Kumanyaev

Fix relative links in markdown. Related to #6182

parent b75777fd
...@@ -166,18 +166,18 @@ module GitlabMarkdownHelper ...@@ -166,18 +166,18 @@ module GitlabMarkdownHelper
def file_exists?(path) def file_exists?(path)
return false if path.nil? || path.empty? return false if path.nil? || path.empty?
File.exists?(path_on_fs(path)) return @repository.blob_at(current_ref, path).present? || Tree.new(@repository, current_ref, path).entries.any?
end end
# Check if the path is pointing to a directory(tree) or a file(blob) # Check if the path is pointing to a directory(tree) or a file(blob)
# eg. doc/api is directory and doc/README.md is file # eg. doc/api is directory and doc/README.md is file
def local_path(path) def local_path(path)
File.directory?(path_on_fs(path)) ? "tree" : "blob" return "tree" if Tree.new(@repository, current_ref, path).entries.any?
return "blob"
end end
# Path to the file in the satellites repository on the filesystem def current_ref
def path_on_fs(path) @commit.nil? ? "master" : @commit.id
[@path_to_satellite, path].join("/")
end end
# We will assume that if no ref exists we can point to master # We will assume that if no ref exists we can point to master
......
...@@ -16,6 +16,7 @@ describe GitlabMarkdownHelper do ...@@ -16,6 +16,7 @@ describe GitlabMarkdownHelper do
before do before do
# Helper expects a @project instance variable # Helper expects a @project instance variable
@project = project @project = project
@repository = project.repository
end end
describe "#gfm" do describe "#gfm" do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment