From df3c466e37fdd6a08b0274123d34997a2c006ba9 Mon Sep 17 00:00:00 2001 From: Jo Hund Date: Fri, 27 Jun 2014 10:50:36 -0700 Subject: [PATCH] Don't remove trailing newline when editing a file in web UI editor: * populate ACE editor content via API instead of HTML element inner text (to preserve trailing whitespace). * remove hack in EditTreeController#preview that replaces any removed \n. Fixes #5936 --- app/controllers/projects/edit_tree_controller.rb | 2 -- app/views/projects/edit_tree/show.html.haml | 3 ++- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/app/controllers/projects/edit_tree_controller.rb b/app/controllers/projects/edit_tree_controller.rb index be611892bb0..ca83b21f429 100644 --- a/app/controllers/projects/edit_tree_controller.rb +++ b/app/controllers/projects/edit_tree_controller.rb @@ -28,8 +28,6 @@ class Projects::EditTreeController < Projects::BaseTreeController def preview @content = params[:content] - #FIXME workaround https://github.com/gitlabhq/gitlabhq/issues/5936 - @content += "\n" if @blob.data.end_with?("\n") diffy = Diffy::Diff.new(@blob.data, @content, diff: '-U 3', include_diff_info: true) diff --git a/app/views/projects/edit_tree/show.html.haml b/app/views/projects/edit_tree/show.html.haml index 16fc1ab1f91..05050e7df7c 100644 --- a/app/views/projects/edit_tree/show.html.haml +++ b/app/views/projects/edit_tree/show.html.haml @@ -16,7 +16,7 @@ .btn-group.tree-btn-group = link_to "Cancel", @after_edit_path, class: "btn btn-tiny btn-cancel", data: { confirm: leave_edit_message } .file-content.code - %pre.js-edit-mode-pane#editor= @blob.data + %pre.js-edit-mode-pane#editor .js-edit-mode-pane#preview.hide .center %h2 @@ -43,6 +43,7 @@ ace.config.set("modePath", gon.relative_url_root + "#{Gitlab::Application.config.assets.prefix}/ace") var ace_mode = "#{@blob.language.try(:ace_mode)}"; var editor = ace.edit("editor"); + editor.setValue("#{escape_javascript(@blob.data)}"); if (ace_mode) { editor.getSession().setMode('ace/mode/' + ace_mode); }