Use Commit#show instead of Commits#show to view a single commit

Commits#show (plural) is going to be for showing commit history on a
specific path.
This commit is contained in:
Robert Speicher 2012-09-17 10:06:56 -04:00
parent a21abce94f
commit b389247c02
10 changed files with 40 additions and 28 deletions

View file

@ -26,25 +26,25 @@ class CommitsController < ApplicationController
end end
end end
def show # def show
result = CommitLoad.new(project, current_user, params).execute # result = CommitLoad.new(project, current_user, params).execute
@commit = result[:commit] # @commit = result[:commit]
if @commit # if @commit
@suppress_diff = result[:suppress_diff] # @suppress_diff = result[:suppress_diff]
@note = result[:note] # @note = result[:note]
@line_notes = result[:line_notes] # @line_notes = result[:line_notes]
@notes_count = result[:notes_count] # @notes_count = result[:notes_count]
@comments_allowed = true # @comments_allowed = true
else # else
return git_not_found! # return git_not_found!
end # end
if result[:status] == :huge_commit # if result[:status] == :huge_commit
render "huge_commit" and return # render "huge_commit" and return
end # end
end # end
def compare def compare
result = Commit.compare(project, params[:from], params[:to]) result = Commit.compare(project, params[:from], params[:to])

View file

@ -25,6 +25,10 @@ module StaticModel
id id
end end
def new_record?
false
end
def persisted? def persisted?
false false
end end

View file

@ -1,16 +1,15 @@
%li.commit %li.commit
.browse_code_link_holder .browse_code_link_holder
%p %p
%strong= link_to "Browse Code »", tree_project_ref_path(@project, commit.id), class: "right" %strong= link_to "Browse Code »", tree_project_ref_path(@project, commit), class: "right"
%p %p
= link_to commit.short_id(8), project_commit_path(@project, id: commit.id), class: "commit_short_id" = link_to commit.short_id(8), project_commit_path(@project, commit), class: "commit_short_id"
%strong.commit-author-name= commit.author_name %strong.commit-author-name= commit.author_name
%span.dash &ndash; %span.dash &ndash;
= image_tag gravatar_icon(commit.author_email), class: "avatar", width: 16 = image_tag gravatar_icon(commit.author_email), class: "avatar", width: 16
= link_to_gfm truncate(commit.title, length: 50), project_commit_path(@project, id: commit.id), class: "row_title" = link_to_gfm truncate(commit.title, length: 50), project_commit_path(@project, commit.id), class: "row_title"
%span.committed_ago %span.committed_ago
= time_ago_in_words(commit.committed_date) = time_ago_in_words(commit.committed_date)
ago ago
&nbsp; &nbsp;

View file

@ -1,7 +1,7 @@
- commit = CommitDecorator.decorate(commit) - commit = CommitDecorator.decorate(commit)
%li.commit %li.commit
%p %p
= link_to commit.short_id(8), project_commit_path(project, id: commit.id), class: "commit_short_id" = link_to commit.short_id(8), project_commit_path(project, commit), class: "commit_short_id"
%span= commit.author_name %span= commit.author_name
&ndash; &ndash;
= image_tag gravatar_icon(commit.author_email), class: "avatar", width: 16 = image_tag gravatar_icon(commit.author_email), class: "avatar", width: 16

View file

@ -32,8 +32,8 @@
= commit.author_name = commit.author_name
%td.blame_commit %td.blame_commit
&nbsp; &nbsp;
%code= link_to commit.short_id, project_commit_path(@project, id: commit.id) %code= link_to commit.short_id, project_commit_path(@project, commit)
= link_to_gfm truncate(commit.title, length: 30), project_commit_path(@project, id: commit.id), class: "row_title" rescue "--broken encoding" = link_to_gfm truncate(commit.title, length: 30), project_commit_path(@project, commit), class: "row_title" rescue "--broken encoding"
%td.lines %td.lines
= preserve do = preserve do
%pre %pre

View file

@ -7,7 +7,7 @@
- if branch.name == @project.root_ref - if branch.name == @project.root_ref
%span.label default %span.label default
%td %td
= link_to project_commit_path(@project, id: commit.id) do = link_to project_commit_path(@project, commit) do
%code= commit.short_id %code= commit.short_id
= image_tag gravatar_icon(commit.author_email), class: "", width: 16 = image_tag gravatar_icon(commit.author_email), class: "", width: 16

View file

@ -174,7 +174,7 @@ module Gitlab
def reference_commit(identifier) def reference_commit(identifier)
if commit = @project.commit(identifier) if commit = @project.commit(identifier)
link_to(identifier, project_commit_path(@project, id: commit.id), html_options.merge(title: CommitDecorator.new(commit).link_title, class: "gfm gfm-commit #{html_options[:class]}")) link_to(identifier, project_commit_path(@project, commit), html_options.merge(title: CommitDecorator.new(commit).link_title, class: "gfm gfm-commit #{html_options[:class]}"))
end end
end end
end end

View file

@ -49,13 +49,13 @@ describe "Gitlab Flavored Markdown" do
end end
it "should render title in commits#show" do it "should render title in commits#show" do
visit project_commit_path(project, id: commit.id) visit project_commit_path(project, commit)
page.should have_link("##{issue.id}") page.should have_link("##{issue.id}")
end end
it "should render description in commits#show" do it "should render description in commits#show" do
visit project_commit_path(project, id: commit.id) visit project_commit_path(project, commit)
page.should have_link("@#{fred.name}") page.should have_link("@#{fred.name}")
end end
@ -175,7 +175,7 @@ describe "Gitlab Flavored Markdown" do
describe "for notes" do describe "for notes" do
it "should render in commits#show", js: true do it "should render in commits#show", js: true do
visit project_commit_path(project, id: commit.id) visit project_commit_path(project, commit)
fill_in "note_note", with: "see ##{issue.id}" fill_in "note_note", with: "see ##{issue.id}"
click_button "Add Comment" click_button "Add Comment"

View file

@ -298,6 +298,14 @@ describe HooksController, "routing" do
end end
end end
# project_commit GET /:project_id/commit/:id(.:format) commit#show {:id=>/[[:alnum:]]{6,40}/, :project_id=>/[^\/]+/}
describe CommitController, "routing" do
it "to #show" do
get("/gitlabhq/commit/4246fb").should route_to('commit#show', project_id: 'gitlabhq', id: '4246fb')
get("/gitlabhq/commit/4246fbd13872934f72a8fd0d6fb1317b47b59cb5").should route_to('commit#show', project_id: 'gitlabhq', id: '4246fbd13872934f72a8fd0d6fb1317b47b59cb5')
end
end
# compare_project_commits GET /:project_id/commits/compare(.:format) commits#compare # compare_project_commits GET /:project_id/commits/compare(.:format) commits#compare
# patch_project_commit GET /:project_id/commits/:id/patch(.:format) commits#patch # patch_project_commit GET /:project_id/commits/:id/patch(.:format) commits#patch
# project_commits GET /:project_id/commits(.:format) commits#index # project_commits GET /:project_id/commits(.:format) commits#index
@ -317,6 +325,7 @@ describe CommitsController, "routing" do
end end
it_behaves_like "RESTful project resources" do it_behaves_like "RESTful project resources" do
let(:actions) { [:index, :show] }
let(:controller) { 'commits' } let(:controller) { 'commits' }
end end
end end