Don't pull updates for repositories marked as hosted
Summary: - Don't try to pull hosted repos. - Also, fix the `--verbose` + `--trace` interaction for `bin/repository`. - Also, fix a couple of unit tests which got tweaked earlier. Test Plan: $ ./bin/repository pull GTEST --verbose Pulling 'GTEST'... Repository "GTEST" is hosted, so Phabricator does not pull updates for it. Done. Reviewers: btrahan, hach-que Reviewed By: hach-que CC: aran Maniphest Tasks: T2230 Differential Revision: https://secure.phabricator.com/D7427
This commit is contained in:
		| @@ -128,7 +128,8 @@ final class PhabricatorRepositoryPullLocalDaemon | |||||||
|  |  | ||||||
|           if (!$no_discovery) { |           if (!$no_discovery) { | ||||||
|             // TODO: It would be nice to discover only if we pulled something, |             // TODO: It would be nice to discover only if we pulled something, | ||||||
|             // but this isn't totally trivial. |             // but this isn't totally trivial. It's slightly more complicated | ||||||
|  |             // with hosted repositories, too. | ||||||
|  |  | ||||||
|             $lock_name = get_class($this).':'.$callsign; |             $lock_name = get_class($this).':'.$callsign; | ||||||
|             $lock = PhabricatorGlobalLock::newLock($lock_name); |             $lock = PhabricatorGlobalLock::newLock($lock_name); | ||||||
|   | |||||||
| @@ -54,7 +54,8 @@ abstract class PhabricatorRepositoryEngine { | |||||||
|     if ($this->getVerbose()) { |     if ($this->getVerbose()) { | ||||||
|       $console = PhutilConsole::getConsole(); |       $console = PhutilConsole::getConsole(); | ||||||
|       $argv = func_get_args(); |       $argv = func_get_args(); | ||||||
|       call_user_func_array(array($console, 'writeLog'), $argv); |       $argv[0] = $argv[0]."\n"; | ||||||
|  |       call_user_func_array(array($console, 'writeOut'), $argv); | ||||||
|     } |     } | ||||||
|     return $this; |     return $this; | ||||||
|   } |   } | ||||||
|   | |||||||
| @@ -25,6 +25,16 @@ final class PhabricatorRepositoryPullEngine | |||||||
|  |  | ||||||
|     $vcs = $repository->getVersionControlSystem(); |     $vcs = $repository->getVersionControlSystem(); | ||||||
|     $callsign = $repository->getCallsign(); |     $callsign = $repository->getCallsign(); | ||||||
|  |  | ||||||
|  |     if ($repository->isHosted()) { | ||||||
|  |       $this->log( | ||||||
|  |         pht( | ||||||
|  |           'Repository "%s" is hosted, so Phabricator does not pull updates '. | ||||||
|  |           'for it.', | ||||||
|  |           $callsign)); | ||||||
|  |       return; | ||||||
|  |     } | ||||||
|  |  | ||||||
|     switch ($vcs) { |     switch ($vcs) { | ||||||
|       case PhabricatorRepositoryType::REPOSITORY_TYPE_SVN: |       case PhabricatorRepositoryType::REPOSITORY_TYPE_SVN: | ||||||
|         // We never pull a local copy of Subversion repositories. |         // We never pull a local copy of Subversion repositories. | ||||||
|   | |||||||
| @@ -45,7 +45,8 @@ abstract class PhabricatorWorkingCopyTestCase extends PhabricatorTestCase { | |||||||
|     $dir = PhutilDirectoryFixture::newFromArchive($path); |     $dir = PhutilDirectoryFixture::newFromArchive($path); | ||||||
|     $local = new TempFile('.ignore'); |     $local = new TempFile('.ignore'); | ||||||
|  |  | ||||||
|     $repo = id(new PhabricatorRepository()) |     $user = $this->generateNewTestUser(); | ||||||
|  |     $repo = PhabricatorRepository::initializeNewRepository($user) | ||||||
|       ->setCallsign($callsign) |       ->setCallsign($callsign) | ||||||
|       ->setName(pht('Test Repo "%s"', $callsign)) |       ->setName(pht('Test Repo "%s"', $callsign)) | ||||||
|       ->setVersionControlSystem($vcs_type) |       ->setVersionControlSystem($vcs_type) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 epriestley
					epriestley