BigW Consortium Gitlab

Commit a4b97b2c by Lin Jen-Shin

Rename source to base to avoid confusion from MR

parent 593228ff
......@@ -4,10 +4,10 @@ module CreatesCommit
def create_commit(service, success_path:, failure_path:, failure_view: nil, success_notice: nil)
set_commit_variables
source_branch = @mr_target_branch unless initial_commit?
base_branch = @mr_target_branch unless initial_commit?
commit_params = @commit_params.merge(
source_project: @mr_target_project,
source_branch: source_branch,
base_project: @mr_target_project,
base_branch: base_branch,
target_branch: @mr_source_branch
)
......
......@@ -748,12 +748,12 @@ class Repository
user, path,
message:, branch_name:,
author_email: nil, author_name: nil,
source_branch_name: nil, source_project: project)
base_branch_name: nil, base_project: project)
check_tree_entry_for_dir(branch_name, path)
if source_branch_name
source_project.repository.
check_tree_entry_for_dir(source_branch_name, path)
if base_branch_name
base_project.repository.
check_tree_entry_for_dir(base_branch_name, path)
end
commit_file(
......@@ -765,8 +765,8 @@ class Repository
update: false,
author_email: author_email,
author_name: author_name,
source_branch_name: source_branch_name,
source_project: source_project)
base_branch_name: base_branch_name,
base_project: base_project)
end
# rubocop:enable Metrics/ParameterLists
......@@ -775,7 +775,7 @@ class Repository
user, path, content,
message:, branch_name:, update: true,
author_email: nil, author_name: nil,
source_branch_name: nil, source_project: project)
base_branch_name: nil, base_project: project)
unless update
error_message = "Filename already exists; update not allowed"
......@@ -783,8 +783,8 @@ class Repository
raise Gitlab::Git::Repository::InvalidBlobName.new(error_message)
end
if source_branch_name &&
source_project.repository.tree_entry_at(source_branch_name, path)
if base_branch_name &&
base_project.repository.tree_entry_at(base_branch_name, path)
raise Gitlab::Git::Repository::InvalidBlobName.new(error_message)
end
end
......@@ -795,8 +795,8 @@ class Repository
branch_name: branch_name,
author_email: author_email,
author_name: author_name,
source_branch_name: source_branch_name,
source_project: source_project,
base_branch_name: base_branch_name,
base_project: base_project,
actions: [{ action: :create,
file_path: path,
content: content }])
......@@ -808,7 +808,7 @@ class Repository
user, path, content,
message:, branch_name:, previous_path:,
author_email: nil, author_name: nil,
source_branch_name: nil, source_project: project)
base_branch_name: nil, base_project: project)
action = if previous_path && previous_path != path
:move
else
......@@ -821,8 +821,8 @@ class Repository
branch_name: branch_name,
author_email: author_email,
author_name: author_name,
source_branch_name: source_branch_name,
source_project: source_project,
base_branch_name: base_branch_name,
base_project: base_project,
actions: [{ action: action,
file_path: path,
content: content,
......@@ -835,15 +835,15 @@ class Repository
user, path,
message:, branch_name:,
author_email: nil, author_name: nil,
source_branch_name: nil, source_project: project)
base_branch_name: nil, base_project: project)
multi_action(
user: user,
message: message,
branch_name: branch_name,
author_email: author_email,
author_name: author_name,
source_branch_name: source_branch_name,
source_project: source_project,
base_branch_name: base_branch_name,
base_project: base_project,
actions: [{ action: :delete,
file_path: path }])
end
......@@ -853,16 +853,16 @@ class Repository
def multi_action(
user:, branch_name:, message:, actions:,
author_email: nil, author_name: nil,
source_branch_name: nil, source_project: project)
base_branch_name: nil, base_project: project)
GitOperationService.new(user, self).with_branch(
branch_name,
source_branch_name: source_branch_name,
source_project: source_project) do |source_commit|
base_branch_name: base_branch_name,
base_project: base_project) do |base_commit|
index = rugged.index
parents = if source_commit
index.read_tree(source_commit.raw_commit.tree)
[source_commit.sha]
parents = if base_commit
index.read_tree(base_commit.raw_commit.tree)
[base_commit.sha]
else
[]
end
......@@ -910,8 +910,8 @@ class Repository
def merge(user, merge_request, options = {})
GitOperationService.new(user, self).with_branch(
merge_request.target_branch) do |source_commit|
our_commit = source_commit.sha
merge_request.target_branch) do |base_commit|
our_commit = base_commit.sha
their_commit = merge_request.diff_head_sha
raise 'Invalid merge target' unless our_commit
......@@ -935,15 +935,15 @@ class Repository
def revert(
user, commit, branch_name, revert_tree_id = nil,
source_branch_name: nil, source_project: project)
base_branch_name: nil, base_project: project)
revert_tree_id ||= check_revert_content(commit, branch_name)
return false unless revert_tree_id
GitOperationService.new(user, self).with_branch(
branch_name,
source_branch_name: source_branch_name,
source_project: source_project) do |source_commit|
base_branch_name: base_branch_name,
base_project: base_project) do |base_commit|
committer = user_to_committer(user)
......@@ -952,21 +952,21 @@ class Repository
author: committer,
committer: committer,
tree: revert_tree_id,
parents: [source_commit.sha])
parents: [base_commit.sha])
end
end
def cherry_pick(
user, commit, branch_name, cherry_pick_tree_id = nil,
source_branch_name: nil, source_project: project)
base_branch_name: nil, base_project: project)
cherry_pick_tree_id ||= check_cherry_pick_content(commit, branch_name)
return false unless cherry_pick_tree_id
GitOperationService.new(user, self).with_branch(
branch_name,
source_branch_name: source_branch_name,
source_project: source_project) do |source_commit|
base_branch_name: base_branch_name,
base_project: base_project) do |base_commit|
committer = user_to_committer(user)
......@@ -979,7 +979,7 @@ class Repository
},
committer: committer,
tree: cherry_pick_tree_id,
parents: [source_commit.sha])
parents: [base_commit.sha])
end
end
......@@ -1066,20 +1066,20 @@ class Repository
Gitlab::Popen.popen(args, path_to_repo).first.lines.map(&:strip)
end
def with_repo_branch_commit(source_repository, source_branch_name)
def with_repo_branch_commit(base_repository, base_branch_name)
branch_name_or_sha =
if source_repository == self
source_branch_name
if base_repository == self
base_branch_name
else
tmp_ref = "refs/tmp/#{SecureRandom.hex}/head"
fetch_ref(
source_repository.path_to_repo,
"#{Gitlab::Git::BRANCH_REF_PREFIX}#{source_branch_name}",
base_repository.path_to_repo,
"#{Gitlab::Git::BRANCH_REF_PREFIX}#{base_branch_name}",
tmp_ref
)
source_repository.commit(source_branch_name).sha
base_repository.commit(base_branch_name).sha
end
yield(commit(branch_name_or_sha))
......
......@@ -4,8 +4,8 @@ module Commits
class ChangeError < StandardError; end
def execute
@source_project = params[:source_project] || @project
@source_branch = params[:source_branch]
@base_project = params[:base_project] || @project
@base_branch = params[:base_branch]
@target_branch = params[:target_branch]
@commit = params[:commit]
@create_merge_request = params[:create_merge_request].present?
......@@ -28,7 +28,7 @@ module Commits
if @create_merge_request
into = @commit.public_send("#{action}_branch_name")
tree_branch = @source_branch
tree_branch = @base_branch
else
into = tree_branch = @target_branch
end
......@@ -45,8 +45,8 @@ module Commits
@commit,
into,
tree_id,
source_project: @source_project,
source_branch_name: @source_branch)
base_project: @base_project,
base_branch_name: @base_branch)
success
else
......
......@@ -3,18 +3,18 @@ require 'securerandom'
# Compare 2 branches for one repo or between repositories
# and return Gitlab::Git::Compare object that responds to commits and diffs
class CompareService
attr_reader :source_project, :source_branch_name
attr_reader :base_project, :base_branch_name
def initialize(new_source_project, new_source_branch_name)
@source_project = new_source_project
@source_branch_name = new_source_branch_name
def initialize(new_base_project, new_base_branch_name)
@base_project = new_base_project
@base_branch_name = new_base_branch_name
end
def execute(target_project, target_branch, straight: false)
# If compare with other project we need to fetch ref first
target_project.repository.with_repo_branch_commit(
source_project.repository,
source_branch_name) do |commit|
base_project.repository,
base_branch_name) do |commit|
break unless commit
compare(commit.sha, target_project, target_branch, straight)
......
......@@ -3,8 +3,8 @@ module Files
class ValidationError < StandardError; end
def execute
@source_project = params[:source_project] || @project
@source_branch = params[:source_branch]
@base_project = params[:base_project] || @project
@base_branch = params[:base_branch]
@target_branch = params[:target_branch]
@commit_message = params[:commit_message]
......@@ -22,7 +22,7 @@ module Files
# Validate parameters
validate
# Create new branch if it different from source_branch
# Create new branch if it different from base_branch
validate_target_branch if different_branch?
result = commit
......@@ -38,7 +38,7 @@ module Files
private
def different_branch?
@source_branch != @target_branch || @source_project != @project
@base_branch != @target_branch || @base_project != @project
end
def file_has_changed?
......@@ -59,7 +59,7 @@ module Files
end
unless project.empty_repo?
unless @source_project.repository.branch_exists?(@source_branch)
unless @base_project.repository.branch_exists?(@base_branch)
raise_error('You can only create or edit files when you are on a branch')
end
......
......@@ -8,8 +8,8 @@ module Files
branch_name: @target_branch,
author_email: @author_email,
author_name: @author_name,
source_project: @source_project,
source_branch_name: @source_branch)
base_project: @base_project,
base_branch_name: @base_branch)
end
def validate
......
......@@ -10,8 +10,8 @@ module Files
update: false,
author_email: @author_email,
author_name: @author_name,
source_project: @source_project,
source_branch_name: @source_branch)
base_project: @base_project,
base_branch_name: @base_branch)
end
def validate
......@@ -34,7 +34,7 @@ module Files
unless project.empty_repo?
@file_path.slice!(0) if @file_path.start_with?('/')
blob = repository.blob_at_branch(@source_branch, @file_path)
blob = repository.blob_at_branch(@base_branch, @file_path)
if blob
raise_error('Your changes could not be committed because a file with the same name already exists')
......
......@@ -8,8 +8,8 @@ module Files
branch_name: @target_branch,
author_email: @author_email,
author_name: @author_name,
source_project: @source_project,
source_branch_name: @source_branch)
base_project: @base_project,
base_branch_name: @base_branch)
end
end
end
......@@ -10,8 +10,8 @@ module Files
actions: params[:actions],
author_email: @author_email,
author_name: @author_name,
source_project: @source_project,
source_branch_name: @source_branch
base_project: @base_project,
base_branch_name: @base_branch
)
end
......@@ -63,7 +63,7 @@ module Files
end
def last_commit
Gitlab::Git::Commit.last_for_path(repository, @source_branch, @file_path)
Gitlab::Git::Commit.last_for_path(repository, @base_branch, @file_path)
end
def regex_check(file)
......
......@@ -9,8 +9,8 @@ module Files
previous_path: @previous_path,
author_email: @author_email,
author_name: @author_name,
source_project: @source_project,
source_branch_name: @source_branch)
base_project: @base_project,
base_branch_name: @base_branch)
end
private
......@@ -25,7 +25,7 @@ module Files
def last_commit
@last_commit ||= Gitlab::Git::Commit.
last_for_path(@source_project.repository, @source_branch, @file_path)
last_for_path(@base_project.repository, @base_branch, @file_path)
end
end
end
......@@ -46,23 +46,23 @@ class GitOperationService
end
end
# Whenever `source_branch_name` is passed, if `branch_name` doesn't exist,
# it would be created from `source_branch_name`.
# If `source_project` is passed, and the branch doesn't exist,
# it would try to find the source from it instead of current repository.
# Whenever `base_branch_name` is passed, if `branch_name` doesn't exist,
# it would be created from `base_branch_name`.
# If `base_project` is passed, and the branch doesn't exist,
# it would try to find the base from it instead of current repository.
def with_branch(
branch_name,
source_branch_name: nil,
source_project: repository.project,
base_branch_name: nil,
base_project: repository.project,
&block)
check_with_branch_arguments!(
branch_name, source_branch_name, source_project)
branch_name, base_branch_name, base_project)
update_branch_with_hooks(branch_name) do
repository.with_repo_branch_commit(
source_project.repository,
source_branch_name || branch_name,
base_project.repository,
base_branch_name || branch_name,
&block)
end
end
......@@ -148,27 +148,27 @@ class GitOperationService
end
def check_with_branch_arguments!(
branch_name, source_branch_name, source_project)
branch_name, base_branch_name, base_project)
return if repository.branch_exists?(branch_name)
if repository.project != source_project
unless source_branch_name
if repository.project != base_project
unless base_branch_name
raise ArgumentError,
'Should also pass :source_branch_name if' +
' :source_project is different from current project'
'Should also pass :base_branch_name if' +
' :base_project is different from current project'
end
unless source_project.repository.branch_exists?(source_branch_name)
unless base_project.repository.branch_exists?(base_branch_name)
raise ArgumentError,
"Cannot find branch #{branch_name} nor" \
" #{source_branch_name} from" \
" #{source_project.path_with_namespace}"
" #{base_branch_name} from" \
" #{base_project.path_with_namespace}"
end
elsif source_branch_name
unless repository.branch_exists?(source_branch_name)
elsif base_branch_name
unless repository.branch_exists?(base_branch_name)
raise ArgumentError,
"Cannot find branch #{branch_name} nor" \
" #{source_branch_name} from" \
" #{base_branch_name} from" \
" #{repository.project.path_with_namespace}"
end
end
......
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