diff options
Diffstat (limited to 'app/controllers/projects/commit_controller.rb')
-rw-r--r-- | app/controllers/projects/commit_controller.rb | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/app/controllers/projects/commit_controller.rb b/app/controllers/projects/commit_controller.rb index 37d6521026c..810653b4264 100644 --- a/app/controllers/projects/commit_controller.rb +++ b/app/controllers/projects/commit_controller.rb @@ -19,7 +19,7 @@ class Projects::CommitController < Projects::ApplicationController @grouped_diff_notes = commit.notes.grouped_diff_notes @notes = commit.notes.non_diff_notes.fresh - + Banzai::NoteRenderer.render( @grouped_diff_notes.values.flatten + @notes, @project, @@ -41,6 +41,24 @@ class Projects::CommitController < Projects::ApplicationController end end + def diff_for_path + return git_not_found! unless commit + + opts = diff_options + opts[:ignore_whitespace_change] = true if params[:format] == 'diff' + + diffs = commit.diffs(opts.merge(paths: [params[:path]])) + diff_refs = [commit.parent || commit, commit] + + @comments_target = { + noteable_type: 'Commit', + commit_id: @commit.id + } + @grouped_diff_notes = {} + + render_diff_for_path(diffs, diff_refs, @project) + end + def builds end |