BigW Consortium Gitlab

Commit d8fe2fac by Lin Jen-Shin

Make sure we have the branch on the other project

parent 5de74551
......@@ -988,6 +988,17 @@ class Project < ActiveRecord::Base
Gitlab::UploadsTransfer.new.rename_project(path_was, path, namespace.path)
end
def fetch_ref(source_project, branch_name, ref)
repository.fetch_ref(
source_project.repository.path_to_repo,
"refs/heads/#{ref}",
"refs/heads/#{branch_name}"
)
repository.after_create_branch
repository.find_branch(branch_name)
end
# Expires various caches before a project is renamed.
def expire_caches_before_rename(old_path)
repo = Repository.new(old_path, self)
......
......@@ -7,15 +7,7 @@ class CreateBranchService < BaseService
return failure if failure
new_branch = if source_project != @project
repository.fetch_ref(
source_project.repository.path_to_repo,
"refs/heads/#{ref}",
"refs/heads/#{branch_name}"
)
repository.after_create_branch
repository.find_branch(branch_name)
@project.fetch_ref(source_project, branch_name, ref)
else
repository.add_branch(current_user, branch_name, ref)
end
......
......@@ -23,7 +23,7 @@ module Files
validate
# Create new branch if it different from source_branch
validate_target_branch if different_branch?
ensure_target_branch if different_branch?
result = commit
if result
......@@ -71,6 +71,14 @@ module Files
end
end
def ensure_target_branch
validate_target_branch
if @source_project != project
@project.fetch_ref(@source_project, @target_branch, @source_branch)
end
end
def validate_target_branch
result = ValidateNewBranchService.new(project, current_user).
execute(@target_branch)
......
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