1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2025-01-02 02:40:58 +01:00

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:
epriestley 2013-10-26 14:44:12 -07:00
parent d02202cde2
commit 0965f0041a
4 changed files with 16 additions and 3 deletions

View file

@ -128,7 +128,8 @@ final class PhabricatorRepositoryPullLocalDaemon
if (!$no_discovery) {
// 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 = PhabricatorGlobalLock::newLock($lock_name);

View file

@ -54,7 +54,8 @@ abstract class PhabricatorRepositoryEngine {
if ($this->getVerbose()) {
$console = PhutilConsole::getConsole();
$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;
}

View file

@ -25,6 +25,16 @@ final class PhabricatorRepositoryPullEngine
$vcs = $repository->getVersionControlSystem();
$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) {
case PhabricatorRepositoryType::REPOSITORY_TYPE_SVN:
// We never pull a local copy of Subversion repositories.

View file

@ -45,7 +45,8 @@ abstract class PhabricatorWorkingCopyTestCase extends PhabricatorTestCase {
$dir = PhutilDirectoryFixture::newFromArchive($path);
$local = new TempFile('.ignore');
$repo = id(new PhabricatorRepository())
$user = $this->generateNewTestUser();
$repo = PhabricatorRepository::initializeNewRepository($user)
->setCallsign($callsign)
->setName(pht('Test Repo "%s"', $callsign))
->setVersionControlSystem($vcs_type)