2012-09-17 16:08:02 +02:00
|
|
|
# Controller for a specific Commit
|
|
|
|
#
|
|
|
|
# Not to be confused with CommitsController, plural.
|
2012-09-27 20:59:42 +02:00
|
|
|
class CommitController < ProjectResourceController
|
2012-09-17 16:08:02 +02:00
|
|
|
# Authorize
|
|
|
|
before_filter :authorize_read_project!
|
|
|
|
before_filter :authorize_code_access!
|
|
|
|
before_filter :require_non_empty_project
|
|
|
|
|
|
|
|
def show
|
2012-10-09 21:09:46 +02:00
|
|
|
result = CommitLoadContext.new(project, current_user, params).execute
|
2012-09-17 16:08:02 +02:00
|
|
|
|
|
|
|
@commit = result[:commit]
|
2012-09-26 00:46:19 +02:00
|
|
|
git_not_found! unless @commit
|
2012-09-17 16:08:02 +02:00
|
|
|
|
2012-12-02 20:43:39 +01:00
|
|
|
@suppress_diff = result[:suppress_diff]
|
|
|
|
|
|
|
|
@note = result[:note]
|
|
|
|
@line_notes = result[:line_notes]
|
|
|
|
@notes_count = result[:notes_count]
|
|
|
|
@target_type = :commit
|
|
|
|
@target_id = @commit.id
|
|
|
|
|
2012-10-29 15:55:37 +01:00
|
|
|
@comments_allowed = @reply_allowed = true
|
|
|
|
@comments_target = { noteable_type: 'Commit',
|
|
|
|
noteable_id: @commit.id }
|
2012-09-26 00:46:19 +02:00
|
|
|
|
|
|
|
respond_to do |format|
|
|
|
|
format.html do
|
|
|
|
if result[:status] == :huge_commit
|
|
|
|
render "huge_commit" and return
|
|
|
|
end
|
|
|
|
end
|
2012-09-17 16:08:02 +02:00
|
|
|
|
2012-11-22 20:49:44 +01:00
|
|
|
format.diff { render text: @commit.to_diff }
|
2012-11-22 12:45:39 +01:00
|
|
|
format.patch { render text: @commit.to_patch }
|
2012-09-17 16:08:02 +02:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|