当前位置: 首页>>代码示例>>PHP>>正文


PHP PhabricatorEnv::getEmptyCWD方法代码示例

本文整理汇总了PHP中PhabricatorEnv::getEmptyCWD方法的典型用法代码示例。如果您正苦于以下问题:PHP PhabricatorEnv::getEmptyCWD方法的具体用法?PHP PhabricatorEnv::getEmptyCWD怎么用?PHP PhabricatorEnv::getEmptyCWD使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PhabricatorEnv的用法示例。


在下文中一共展示了PhabricatorEnv::getEmptyCWD方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: newCustomEnvironment

 protected function newCustomEnvironment()
 {
     $env = array();
     // NOTE: See T2965. Some time after Git 1.7.5.4, Git started fataling if
     // it can not read $HOME. For many users, $HOME points at /root (this
     // seems to be a default result of Apache setup). Instead, explicitly
     // point $HOME at a readable, empty directory so that Git looks for the
     // config file it's after, fails to locate it, and moves on. This is
     // really silly, but seems like the least damaging approach to
     // mitigating the issue.
     $env['HOME'] = PhabricatorEnv::getEmptyCWD();
     if ($this->isAnySSHProtocol()) {
         $env['GIT_SSH'] = $this->getSSHWrapper();
     }
     if ($this->isAnyHTTPProtocol()) {
         $uri = $this->getURI();
         if ($uri) {
             $proxy = PhutilHTTPEngineExtension::buildHTTPProxyURI($uri);
             if ($proxy) {
                 if ($this->isHTTPSProtocol()) {
                     $env_key = 'https_proxy';
                 } else {
                     $env_key = 'http_proxy';
                 }
                 $env[$env_key] = (string) $proxy;
             }
         }
     }
     return $env;
 }
开发者ID:rchicoli,项目名称:phabricator,代码行数:30,代码来源:DiffusionGitCommandEngine.php

示例2: executeRepositoryOperations

 protected function executeRepositoryOperations()
 {
     $repository = $this->getRepository();
     $args = $this->getArgs();
     if (!$args->getArg('tunnel')) {
         throw new Exception(pht('Expected `%s`!', 'svnserve -t'));
     }
     if ($this->shouldProxy()) {
         $command = $this->getProxyCommand();
         $this->isProxying = true;
         $cwd = null;
     } else {
         $command = csprintf('svnserve -t --tunnel-user=%s', $this->getUser()->getUsername());
         $cwd = PhabricatorEnv::getEmptyCWD();
     }
     $command = PhabricatorDaemon::sudoCommandAsDaemonUser($command);
     $future = new ExecFuture('%C', $command);
     // If we're receiving a commit, svnserve will fail to execute the commit
     // hook with an unhelpful error if the CWD isn't readable by the user we
     // are sudoing to. Switch to a readable, empty CWD before running
     // svnserve. See T10941.
     if ($cwd !== null) {
         $future->setCWD($cwd);
     }
     $this->inProtocol = new DiffusionSubversionWireProtocol();
     $this->outProtocol = new DiffusionSubversionWireProtocol();
     $this->command = id($this->newPassthruCommand())->setIOChannel($this->getIOChannel())->setCommandChannelFromExecFuture($future)->setWillWriteCallback(array($this, 'willWriteMessageCallback'))->setWillReadCallback(array($this, 'willReadMessageCallback'));
     $this->command->setPauseIOReads(true);
     $err = $this->command->execute();
     if (!$err && $this->didSeeWrite) {
         $this->getRepository()->writeStatusMessage(PhabricatorRepositoryStatusMessage::TYPE_NEEDS_UPDATE, PhabricatorRepositoryStatusMessage::CODE_OKAY);
     }
     return $err;
 }
开发者ID:NeoArmageddon,项目名称:phabricator,代码行数:34,代码来源:DiffusionSubversionServeSSHWorkflow.php


注:本文中的PhabricatorEnv::getEmptyCWD方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。