diff --git a/app/models/repository.rb b/app/models/repository.rb index bf45f48e61a07ebae17142cd5ec356628e354f87..38ef1b2c57b82079cbc88b6ce8db5d63131a9621 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -741,29 +741,30 @@ class Repository end end - def update_file(user, path, previous_path, content, message, branch, update) + # previous_path, message, update + def update_file(user, path, content, branch, options={}) commit_with_hooks(user, branch) do |ref| committer = user_to_committer(user) - options = {} - options[:committer] = committer - options[:author] = committer - options[:commit] = { - message: message, + commit_options = {} + commit_options[:committer] = committer + commit_options[:author] = committer + commit_options[:commit] = { + message: options[:message], branch: ref } - options[:file] = { + commit_options[:file] = { content: content, path: path, - update: update + update: options[:update] } - if previous_path - options[:file].merge!(previous_path: previous_path) + if options[:previous_path] + commit_options[:file].merge!(previous_path: options[:previous_path]) - Gitlab::Git::Blob.rename(raw_repository, options) + Gitlab::Git::Blob.rename(raw_repository, commit_options) else - Gitlab::Git::Blob.commit(raw_repository, options) + Gitlab::Git::Blob.commit(raw_repository, commit_options) end end end diff --git a/app/services/files/update_service.rb b/app/services/files/update_service.rb index 6d015642b910dc7eaf2541bee4bc9e60cf1d37be..7835d7eba44bb399cec0deec8a81f3f631082f18 100644 --- a/app/services/files/update_service.rb +++ b/app/services/files/update_service.rb @@ -4,7 +4,9 @@ module Files class UpdateService < Files::BaseService def commit # Need to update file_path with the new filename - repository.update_file(current_user, @file_path, @previous_path, @file_content, @commit_message, @target_branch, true) + repository.update_file(current_user, @file_path, @file_content, + @target_branch, previous_path: @previous_path, + message: @commit_message, update: true) end end end