diff --git a/app/controllers/projects/blob_controller.rb b/app/controllers/projects/blob_controller.rb index 5356fdf010d..bcd436f2429 100644 --- a/app/controllers/projects/blob_controller.rb +++ b/app/controllers/projects/blob_controller.rb @@ -43,7 +43,8 @@ class Projects::BlobController < Projects::ApplicationController diffs_namespace_project_merge_request_path(from_merge_request.target_project.namespace, from_merge_request.target_project, from_merge_request) + "#file-path-#{hexdigest(@path)}" else - namespace_project_blob_path(@project.namespace, @project, File.join(@target_branch, @path)) + # params[:file_name] stores the new name for the file + namespace_project_blob_path(@project.namespace, @project, File.join(@target_branch, params[:file_name])) end create_commit(Files::UpdateService, success_path: after_edit_path, diff --git a/app/services/files/update_service.rb b/app/services/files/update_service.rb index 1960dc7d949..52451d72b57 100644 --- a/app/services/files/update_service.rb +++ b/app/services/files/update_service.rb @@ -3,6 +3,7 @@ require_relative "base_service" 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) end end diff --git a/app/views/projects/blob/_editor.html.haml b/app/views/projects/blob/_editor.html.haml index 29c7d45074a..3c64b2f5e96 100644 --- a/app/views/projects/blob/_editor.html.haml +++ b/app/views/projects/blob/_editor.html.haml @@ -4,7 +4,11 @@ = icon('code-fork') = ref %span.editor-file-name - = @path + - if current_action?(:edit) && can?(current_user, :push_code, @project) + = text_field_tag 'file_name', params[:file_name], placeholder: @path, + class: 'form-control new-file-name' + - else + = @path - if current_action?(:new) || current_action?(:create) %span.editor-file-name