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
64 lines
1.1 KiB
PHP
64 lines
1.1 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @task config Configuring Repository Engines
|
|
* @task internal Internals
|
|
*/
|
|
abstract class PhabricatorRepositoryEngine {
|
|
|
|
private $repository;
|
|
private $verbose;
|
|
|
|
/**
|
|
* @task config
|
|
*/
|
|
public function setRepository(PhabricatorRepository $repository) {
|
|
$this->repository = $repository;
|
|
return $this;
|
|
}
|
|
|
|
|
|
/**
|
|
* @task config
|
|
*/
|
|
protected function getRepository() {
|
|
if ($this->repository === null) {
|
|
throw new Exception("Call setRepository() to provide a repository!");
|
|
}
|
|
|
|
return $this->repository;
|
|
}
|
|
|
|
|
|
/**
|
|
* @task config
|
|
*/
|
|
public function setVerbose($verbose) {
|
|
$this->verbose = $verbose;
|
|
return $this;
|
|
}
|
|
|
|
|
|
/**
|
|
* @task config
|
|
*/
|
|
public function getVerbose() {
|
|
return $this->verbose;
|
|
}
|
|
|
|
|
|
/**
|
|
* @task internal
|
|
*/
|
|
protected function log($pattern /* ... */) {
|
|
if ($this->getVerbose()) {
|
|
$console = PhutilConsole::getConsole();
|
|
$argv = func_get_args();
|
|
$argv[0] = $argv[0]."\n";
|
|
call_user_func_array(array($console, 'writeOut'), $argv);
|
|
}
|
|
return $this;
|
|
}
|
|
|
|
}
|