mirror of
https://github.com/wahyd4/gitlabhq.git
synced 2026-08-20 10:06:04 +10:00
Merge branch 'relative' of /home/git/repositories/gitlab/gitlabhq
This commit is contained in:
@@ -64,7 +64,9 @@ module GitlabMarkdownHelper
|
||||
# ref - name of the branch or reference, eg. stable
|
||||
# requested_path - path of request, eg. doc/api/README.md, used in special case when path is pointing to the .md file were the original request is coming from
|
||||
# wiki - whether the markdown is from wiki or not
|
||||
def create_relative_links(text, project_path_with_namespace, ref, requested_path, wiki = false)
|
||||
def create_relative_links(text, project, ref, requested_path, wiki = false)
|
||||
@path_to_satellite = project.satellite.path
|
||||
project_path_with_namespace = project.path_with_namespace
|
||||
paths = extract_paths(text)
|
||||
paths.each do |file_path|
|
||||
new_path = rebuild_path(project_path_with_namespace, file_path, requested_path, ref)
|
||||
@@ -145,13 +147,18 @@ module GitlabMarkdownHelper
|
||||
|
||||
def file_exists?(path)
|
||||
return false if path.nil? || path.empty?
|
||||
File.exists?(Rails.root.join(path))
|
||||
File.exists?(path_on_fs(path))
|
||||
end
|
||||
|
||||
# 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
|
||||
def local_path(path)
|
||||
File.directory?(Rails.root.join(path)) ? "tree" : "blob"
|
||||
File.directory?(path_on_fs(path)) ? "tree" : "blob"
|
||||
end
|
||||
|
||||
# Path to the file in the satellites repository on the filesystem
|
||||
def path_on_fs(path)
|
||||
[@path_to_satellite, path].join("/")
|
||||
end
|
||||
|
||||
# We will assume that if no ref exists we can point to master
|
||||
|
||||
@@ -36,7 +36,7 @@ class Redcarpet::Render::GitlabHTML < Redcarpet::Render::HTML
|
||||
|
||||
def preprocess(full_document)
|
||||
if @project
|
||||
h.create_relative_links(full_document, @project.path_with_namespace, @ref, @request_path, is_wiki?)
|
||||
h.create_relative_links(full_document, @project, @ref, @request_path, is_wiki?)
|
||||
else
|
||||
full_document
|
||||
end
|
||||
|
||||
@@ -66,6 +66,7 @@ FactoryGirl.define do
|
||||
|
||||
after :create do |project|
|
||||
TestEnv.clear_repo_dir(project.namespace, project.path)
|
||||
TestEnv.reset_satellite_dir
|
||||
TestEnv.create_repo(project.namespace, project.path)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -97,6 +97,15 @@ module TestEnv
|
||||
FileUtils.rm_rf File.join(testing_path(), "#{name}.wiki.git")
|
||||
end
|
||||
|
||||
def reset_satellite_dir
|
||||
setup_stubs
|
||||
FileUtils.cd(seed_satellite_path) do
|
||||
`git reset --hard --quiet`
|
||||
`git clean -fx`
|
||||
`git checkout --quiet origin/master`
|
||||
end
|
||||
end
|
||||
|
||||
# Create a repo and it's satellite
|
||||
def create_repo(namespace, name)
|
||||
setup_stubs
|
||||
|
||||
Reference in New Issue
Block a user