diff --git a/app/contexts/files/create_context.rb b/app/contexts/files/create_context.rb index e1554c47bd6b716792a8e452168fdce0f9b2ad12..ae73b11bd54939811de565782ff04435aaaa4f23 100644 --- a/app/contexts/files/create_context.rb +++ b/app/contexts/files/create_context.rb @@ -33,11 +33,10 @@ module Files return error("Your changes could not be commited, because file with such name exists") end - new_file_action = Gitlab::Satellite::NewFileAction.new(current_user, project, ref, path) + new_file_action = Gitlab::Satellite::NewFileAction.new(current_user, project, ref, file_path) created_successfully = new_file_action.commit!( params[:content], - params[:commit_message], - file_name, + params[:commit_message] ) if created_successfully diff --git a/app/contexts/files/update_context.rb b/app/contexts/files/update_context.rb index 000d3d02f126211928efc4385f1c8353b15d14dd..f40c749699477df5da6f3ea6da418d63b75026d7 100644 --- a/app/contexts/files/update_context.rb +++ b/app/contexts/files/update_context.rb @@ -24,8 +24,7 @@ module Files new_file_action = Gitlab::Satellite::EditFileAction.new(current_user, project, ref, path) created_successfully = new_file_action.commit!( params[:content], - params[:commit_message], - params[:last_commit] + params[:commit_message] ) if created_successfully diff --git a/lib/gitlab/satellite/files/edit_file_action.rb b/lib/gitlab/satellite/files/edit_file_action.rb index 72e12fb077c54572068266cd9307d8962992a548..3747c6afc487af35737f7a96fb2a56da5d03540a 100644 --- a/lib/gitlab/satellite/files/edit_file_action.rb +++ b/lib/gitlab/satellite/files/edit_file_action.rb @@ -10,9 +10,7 @@ module Gitlab # Returns false if committing the change fails # Returns false if pushing from the satellite to Gitolite failed or was rejected # Returns true otherwise - def commit!(content, commit_message, last_commit) - return false unless can_edit?(last_commit) - + def commit!(content, commit_message) in_locked_and_timed_satellite do |repo| prepare_satellite!(repo) diff --git a/lib/gitlab/satellite/files/file_action.rb b/lib/gitlab/satellite/files/file_action.rb index 4ac53c2cd5a41f6170e064b50b5aa7427259a0c9..7c08e2921923e1bc8ebd442e616f040e989c2d94 100644 --- a/lib/gitlab/satellite/files/file_action.rb +++ b/lib/gitlab/satellite/files/file_action.rb @@ -8,13 +8,6 @@ module Gitlab @file_path = file_path @ref = ref end - - protected - - def can_edit?(last_commit) - current_last_commit = Gitlab::Git::Commit.last_for_path(@project.repository, ref, file_path).sha - last_commit == current_last_commit - end end end end diff --git a/lib/gitlab/satellite/files/new_file_action.rb b/lib/gitlab/satellite/files/new_file_action.rb index 70a5ea219de782abb30b2b9ab83245c2096df1c7..97b19809c8dfb3502b93802a2166557aa980ffd4 100644 --- a/lib/gitlab/satellite/files/new_file_action.rb +++ b/lib/gitlab/satellite/files/new_file_action.rb @@ -9,7 +9,7 @@ module Gitlab # Returns false if committing the change fails # Returns false if pushing from the satellite to Gitolite failed or was rejected # Returns true otherwise - def commit!(content, commit_message, file_name) + def commit!(content, commit_message) in_locked_and_timed_satellite do |repo| prepare_satellite!(repo) @@ -17,7 +17,7 @@ module Gitlab repo.git.checkout({raise: true, timeout: true, b: true}, ref, "origin/#{ref}") # update the file in the satellite's working dir - file_path_in_satellite = File.join(repo.working_dir, file_path || '', file_name) + file_path_in_satellite = File.join(repo.working_dir, file_path) File.open(file_path_in_satellite, 'w') { |f| f.write(content) } # add new file