From e28b78f5ebe32a97b700da3c38a9ae6830ce78b0 Mon Sep 17 00:00:00 2001 From: epriestley Date: Fri, 28 Feb 2014 12:56:18 -0800 Subject: [PATCH] Fix two issues with ref discovery Summary: See IRC. I'm having trouble figuring out what's going on with b4taylor's report, but fix two possible issues: # The commit query is missing a `repositoryID`, which could cause issues if you import two copies of the same repository. # I think we may try to close commits on untracked branches right now, as long as they aren't excluded by other autoclose rules. Test Plan: Ran `bin/repository refs` on a few repos. Reviewers: btrahan Reviewed By: btrahan CC: aran, brennantaylor Differential Revision: https://secure.phabricator.com/D8373 --- .../repository/engine/PhabricatorRepositoryRefEngine.php | 3 ++- src/applications/repository/storage/PhabricatorRepository.php | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/applications/repository/engine/PhabricatorRepositoryRefEngine.php b/src/applications/repository/engine/PhabricatorRepositoryRefEngine.php index 56826186a1..cfcf3b7041 100644 --- a/src/applications/repository/engine/PhabricatorRepositoryRefEngine.php +++ b/src/applications/repository/engine/PhabricatorRepositoryRefEngine.php @@ -304,8 +304,9 @@ final class PhabricatorRepositoryRefEngine $all_commits = queryfx_all( $conn_w, 'SELECT id, commitIdentifier, importStatus FROM %T - WHERE commitIdentifier IN (%Ls)', + WHERE repositoryID = %d AND commitIdentifier IN (%Ls)', $commit_table->getTableName(), + $repository->getID(), $identifiers); $closeable_flag = PhabricatorRepositoryCommit::IMPORTED_CLOSEABLE; diff --git a/src/applications/repository/storage/PhabricatorRepository.php b/src/applications/repository/storage/PhabricatorRepository.php index be8a0d25e8..8661f56f60 100644 --- a/src/applications/repository/storage/PhabricatorRepository.php +++ b/src/applications/repository/storage/PhabricatorRepository.php @@ -592,6 +592,10 @@ final class PhabricatorRepository extends PhabricatorRepositoryDAO return false; } + if (!$this->shouldTrackBranch($branch)) { + return false; + } + return $this->isBranchInFilter($branch, 'close-commits-filter'); }