BigW Consortium Gitlab

Commit 2a7806b8 by tiagonbotelho

creates the update_file method in repository.rb and applies changes accordingly

parent 06608b48
......@@ -8,7 +8,8 @@ module CreatesCommit
source_project: @project,
source_branch: @ref,
target_branch: @target_branch,
file_path: @path
file_path: @path,
previous_path: @previous_path
)
result = service.new(@tree_edit_project, current_user, commit_params).execute
......
......@@ -44,7 +44,7 @@ class Projects::BlobController < Projects::ApplicationController
"#file-path-#{hexdigest(@path)}"
else
unless params[:file_name] == @path
previous_path = @path
@previous_path = @path
@path = params[:file_name]
end
......
......@@ -731,6 +731,36 @@ class Repository
end
end
def update_file(user, path, previous_path, content, message, branch, update)
commit_with_hooks(user, branch) do |ref|
committer = user_to_committer(user)
options = {}
options[:committer] = committer
options[:author] = committer
options[:commit] = {
message: message,
branch: ref,
}
if previous_path
options[:file] = {
path: previous_path
}
Gitlab::Git::Blob.remove(raw_repository, options)
end
options[:file] = {
content: content,
path: path,
update: update
}
Gitlab::Git::Blob.commit(raw_repository, options)
end
end
def remove_file(user, path, message, branch)
commit_with_hooks(user, branch) do |ref|
committer = user_to_committer(user)
......
......@@ -9,6 +9,7 @@ module Files
@commit_message = params[:commit_message]
@file_path = params[:file_path]
@previous_path = params[:previous_path]
@file_content = if params[:file_content_encoding] == 'base64'
Base64.decode64(params[:file_content])
else
......
......@@ -4,7 +4,7 @@ module Files
class UpdateService < Files::BaseService
def commit
# Need to update file_path with the new filename
repository.commit_file(current_user, @file_path, @file_content, @commit_message, @target_branch, true)
repository.update_file(current_user, @file_path, @previous_path, @file_content, @commit_message, @target_branch, true)
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