diff options
author | tiagonbotelho <tiagonbotelho@hotmail.com> | 2016-08-24 14:30:39 +0100 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2016-09-09 23:05:30 -0400 |
commit | 08dc8af7339828852ae8596aeea577f9551d399d (patch) | |
tree | 04318881b9fe92f55e91e69c35489e6cc561ac15 /app | |
parent | d01cbe0c8baf0ab630cf5e5d28087e91c8679b70 (diff) | |
download | gitlab-ce-08dc8af7339828852ae8596aeea577f9551d399d.tar.gz |
fixes distinction between renaming a file and updating its content and21092-file-execution-flag-is-not-preserved-when-editing-files
refactors update file
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/concerns/creates_commit.rb | 3 | ||||
-rw-r--r-- | app/controllers/projects/blob_controller.rb | 10 | ||||
-rw-r--r-- | app/models/repository.rb | 2 |
3 files changed, 6 insertions, 9 deletions
diff --git a/app/controllers/concerns/creates_commit.rb b/app/controllers/concerns/creates_commit.rb index f2b8f297bc2..dacb5679dd3 100644 --- a/app/controllers/concerns/creates_commit.rb +++ b/app/controllers/concerns/creates_commit.rb @@ -7,8 +7,7 @@ module CreatesCommit commit_params = @commit_params.merge( source_project: @project, source_branch: @ref, - target_branch: @target_branch, - previous_path: @previous_path + target_branch: @target_branch ) result = service.new(@tree_edit_project, current_user, commit_params).execute diff --git a/app/controllers/projects/blob_controller.rb b/app/controllers/projects/blob_controller.rb index cdf9a04bacf..b78cc6585ba 100644 --- a/app/controllers/projects/blob_controller.rb +++ b/app/controllers/projects/blob_controller.rb @@ -38,12 +38,7 @@ class Projects::BlobController < Projects::ApplicationController end def update - if params[:file_path].present? - @previous_path = @path - @path = params[:file_path] - @commit_params[:file_path] = @path - end - + @path = params[:file_path] if params[:file_path].present? after_edit_path = if from_merge_request && @target_branch == @ref diffs_namespace_project_merge_request_path(from_merge_request.target_project.namespace, from_merge_request.target_project, from_merge_request) + @@ -143,6 +138,8 @@ class Projects::BlobController < Projects::ApplicationController params[:file_name] = params[:file].original_filename end File.join(@path, params[:file_name]) + elsif params[:file_path].present? + params[:file_path] else @path end @@ -155,6 +152,7 @@ class Projects::BlobController < Projects::ApplicationController @commit_params = { file_path: @file_path, commit_message: params[:commit_message], + previous_path: @path, file_content: params[:content], file_content_encoding: params[:encoding], last_commit_sha: params[:last_commit_sha] diff --git a/app/models/repository.rb b/app/models/repository.rb index 7b7090b8a73..37fbdcfe1c6 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -813,7 +813,7 @@ class Repository update: true } - if previous_path + unless previous_path == path || previous_path.blank? options[:file][:previous_path] = previous_path Gitlab::Git::Blob.rename(raw_repository, options) else |