From 3750b06b8cdc02bc87eba27dd8e4ab5f1f24802f Mon Sep 17 00:00:00 2001
From: Lin Jen-Shin <godfat@godfat.org>
Date: Thu, 16 Feb 2017 22:17:42 +0800
Subject: [PATCH] Consider the case where we don't specify ref for pipeline

---
 app/models/ci/pipeline.rb | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/app/models/ci/pipeline.rb b/app/models/ci/pipeline.rb
index 2a987bfa87b..6e89b18aee5 100644
--- a/app/models/ci/pipeline.rb
+++ b/app/models/ci/pipeline.rb
@@ -91,11 +91,13 @@ module Ci
     scope :latest, ->(ref = nil) do
       max_id = unscope(:select)
         .select("max(#{quoted_table_name}.id)")
-        .where(ref: ref)
         .group(:ref, :sha)
 
-      relation = ref ? where(ref: ref) : self
-      relation.where(id: max_id)
+      if ref
+        where(ref: ref, id: max_id.where(ref: ref))
+      else
+        where(id: max_id)
+      end
     end
 
     def self.latest_status(ref = nil)
-- 
GitLab