Skip to content
Snippets Groups Projects
Commit d7e95d77 authored by Lin Jen-Shin's avatar Lin Jen-Shin
Browse files

Use with_repo_branch_commit instead of fetch_ref directly

So that we could limit the access to Repository#fetch_ref
See: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/13416#note_37487433
parent d1b4770d
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -940,14 +940,13 @@ class MergeRequest < ActiveRecord::Base
private
 
def write_ref
if for_fork?
target_project.repository.fetch_ref(
source_project.repository.path_to_repo,
"refs/heads/#{source_branch}",
ref_path
)
else
source_project.repository.write_ref(ref_path, source_branch_sha)
end
target_project.repository.with_repo_branch_commit(
source_project.repository, source_branch) do |commit|
if commit
target_project.repository.write_ref(ref_path, commit.sha)
else
raise Rugged::ReferenceError, 'source repository is empty'
end
end
end
end
Loading
Loading
@@ -583,8 +583,7 @@ describe API::MergeRequests do
before do
fork_project.add_reporter(user2)
 
allow_any_instance_of(Repository).to receive(:fetch_ref) # for forks
allow_any_instance_of(Repository).to receive(:write_ref) # for non-forks
allow_any_instance_of(MergeRequest).to receive(:write_ref)
end
 
it "returns merge_request" do
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment