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:
parent
d02202cde2
commit
0965f0041a
4 changed files with 16 additions and 3 deletions
|
@ -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)
|
||||||
|
|
Loading…
Reference in a new issue