[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/diffusion/ssh/ -> DiffusionSSHGitUploadPackWorkflow.php (source)

   1  <?php
   2  
   3  final class DiffusionSSHGitUploadPackWorkflow
   4    extends DiffusionSSHGitWorkflow {
   5  
   6    public function didConstruct() {
   7      $this->setName('git-upload-pack');
   8      $this->setArguments(
   9        array(
  10          array(
  11            'name'      => 'dir',
  12            'wildcard'  => true,
  13          ),
  14        ));
  15    }
  16  
  17    protected function executeRepositoryOperations() {
  18      $args = $this->getArgs();
  19      $path = head($args->getArg('dir'));
  20      $repository = $this->loadRepository($path);
  21  
  22      $command = csprintf('git-upload-pack -- %s', $repository->getLocalPath());
  23      $command = PhabricatorDaemon::sudoCommandAsDaemonUser($command);
  24  
  25      $future = id(new ExecFuture('%C', $command))
  26        ->setEnv($this->getEnvironment());
  27  
  28      $err = $this->newPassthruCommand()
  29        ->setIOChannel($this->getIOChannel())
  30        ->setCommandChannelFromExecFuture($future)
  31        ->execute();
  32  
  33      if (!$err) {
  34        $this->waitForGitClient();
  35      }
  36  
  37      return $err;
  38    }
  39  
  40  }


Generated: Sun Nov 30 09:20:46 2014 Cross-referenced by PHPXref 0.7.1