summaryrefslogtreecommitdiff
path: root/app/controllers/ci/projects_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/ci/projects_controller.rb')
-rw-r--r--app/controllers/ci/projects_controller.rb8
1 files changed, 5 insertions, 3 deletions
diff --git a/app/controllers/ci/projects_controller.rb b/app/controllers/ci/projects_controller.rb
index 33b8ae64659..64d544acfd9 100644
--- a/app/controllers/ci/projects_controller.rb
+++ b/app/controllers/ci/projects_controller.rb
@@ -14,9 +14,11 @@ module Ci
def show
@ref = params[:ref]
- @commits = @project.commits.reverse_order
- # TODO: this is broken
- # @commits = @commits.where(ref: @ref) if @ref
+ @commits = @project.commits.group(:sha).reverse_order
+ if @ref
+ builds = @project.builds.where(ref: @ref).select(:commit_id).distinct
+ @commits = @commits.where(id: builds)
+ end
@commits = @commits.page(params[:page]).per(20)
end