From 76b534b5609c828b4f20d82a6aa7b65930e128eb Mon Sep 17 00:00:00 2001 From: vrana Date: Tue, 10 Apr 2012 01:32:47 -0700 Subject: [PATCH] Don't fetch all commits without blame in Diffusion Summary: Otherwise useless query is executed: lang=sql SELECT c.* FROM `repository_commit` c ORDER BY c.epoch DESC Test Plan: /diffusion/X/browse/x Reviewers: epriestley Reviewed By: epriestley CC: aran Differential Revision: https://secure.phabricator.com/D2186 --- .../file/DiffusionBrowseFileController.php | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/applications/diffusion/controller/file/DiffusionBrowseFileController.php b/src/applications/diffusion/controller/file/DiffusionBrowseFileController.php index 5600bbdda8..2f177cbce7 100644 --- a/src/applications/diffusion/controller/file/DiffusionBrowseFileController.php +++ b/src/applications/diffusion/controller/file/DiffusionBrowseFileController.php @@ -342,13 +342,14 @@ final class DiffusionBrowseFileController extends DiffusionController { ++$line_number; } - $commits = id(new PhabricatorAuditCommitQuery()) - ->withIdentifiers( - $drequest->getRepository()->getID(), - array_filter(ipull($display, 'commit'))) - ->needCommitData(true) - ->execute(); - $commits = mpull($commits, null, 'getCommitIdentifier'); + $commits = array_filter(ipull($display, 'commit')); + if ($commits) { + $commits = id(new PhabricatorAuditCommitQuery()) + ->withIdentifiers($drequest->getRepository()->getID(), $commits) + ->needCommitData(true) + ->execute(); + $commits = mpull($commits, null, 'getCommitIdentifier'); + } $request = $this->getRequest(); $user = $request->getUser();