Commit ccc73c45 authored by Lin Jen-Shin's avatar Lin Jen-Shin

Rename from base to start because base could mean merge base

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