From 71569a9c410d297469c86227807c9f60cc069ef6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Rodr=C3=ADguez?= Date: Tue, 9 May 2017 15:41:21 -0300 Subject: [PATCH] Compare ids of commits if present for equality test This solves a problem where commits populated with Gitaly were not equal to commits populated with Rugged. This is because Gitaly may not return all fields of a commit for optimizations purposes, which resulted in false negatives when comparing the same commit (commits with the same sha) with different sources. --- lib/gitlab/git/commit.rb | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/lib/gitlab/git/commit.rb b/lib/gitlab/git/commit.rb index f9a9b767ef4..e14c3511e60 100644 --- a/lib/gitlab/git/commit.rb +++ b/lib/gitlab/git/commit.rb @@ -19,13 +19,7 @@ module Gitlab def ==(other) return false unless other.is_a?(Gitlab::Git::Commit) - methods = [:message, :parent_ids, :authored_date, :author_name, - :author_email, :committed_date, :committer_name, - :committer_email] - - methods.all? do |method| - send(method) == other.send(method) - end + id && id == other.id end class << self