Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Léo-Paul Géneau
gitlab-ce
Commits
094e5efb
Commit
094e5efb
authored
Jun 24, 2014
by
Dmitriy Zaporozhets
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #6992 from skv-headless/project_commits_sql_optimization
notes count in 1 query for mr and commits
parents
aadef92f
20b21027
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
15 additions
and
4 deletions
+15
-4
app/controllers/projects/commits_controller.rb
app/controllers/projects/commits_controller.rb
+2
-0
app/controllers/projects/merge_requests_controller.rb
app/controllers/projects/merge_requests_controller.rb
+5
-0
app/views/projects/commits/_commit.html.haml
app/views/projects/commits/_commit.html.haml
+8
-4
No files found.
app/controllers/projects/commits_controller.rb
View file @
094e5efb
...
...
@@ -13,6 +13,8 @@ class Projects::CommitsController < Projects::ApplicationController
@limit
,
@offset
=
(
params
[
:limit
]
||
40
),
(
params
[
:offset
]
||
0
)
@commits
=
@repo
.
commits
(
@ref
,
@path
,
@limit
,
@offset
)
@note_counts
=
Note
.
where
(
commit_id:
@commits
.
map
(
&
:id
)).
group
(
:commit_id
).
count
respond_to
do
|
format
|
format
.
html
# index.html.erb
...
...
app/controllers/projects/merge_requests_controller.rb
View file @
094e5efb
...
...
@@ -32,6 +32,8 @@ class Projects::MergeRequestsController < Projects::ApplicationController
end
def
show
@note_counts
=
Note
.
where
(
commit_id:
@merge_request
.
commits
.
map
(
&
:id
)).
group
(
:commit_id
).
count
respond_to
do
|
format
|
format
.
html
format
.
diff
{
render
text:
@merge_request
.
to_diff
(
current_user
)
}
...
...
@@ -86,6 +88,9 @@ class Projects::MergeRequestsController < Projects::ApplicationController
@compare_failed
=
true
end
@note_counts
=
Note
.
where
(
commit_id:
@commits
.
map
(
&
:id
)).
group
(
:commit_id
).
count
@diffs
=
compare_action
.
diffs
@merge_request
.
title
=
@merge_request
.
source_branch
.
titleize
.
humanize
@target_project
=
@merge_request
.
target_project
...
...
app/views/projects/commits/_commit.html.haml
View file @
094e5efb
...
...
@@ -9,11 +9,15 @@
=
link_to
"Browse Code »"
,
project_tree_path
(
project
,
commit
),
class:
"pull-right"
.notes_count
-
notes
=
project
.
notes
.
for_commit_id
(
commit
.
id
)
-
if
notes
.
any?
-
if
@note_counts
-
note_count
=
@note_counts
.
fetch
(
commit
.
id
,
0
)
-
else
-
notes
=
project
.
notes
.
for_commit_id
(
commit
.
id
)
-
note_count
=
notes
.
count
-
if
note_count
>
0
%span
.label.label-gray
%i
.icon-comment
=
notes
.
count
%i
.icon-comment
=
note_count
-
if
commit
.
description?
.commit-row-description.js-toggle-content
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment