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


PHP PhabricatorRepository::isSVN方法代码示例

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


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

示例1: recordCommit

 private function recordCommit(PhabricatorRepository $repository, $commit_identifier, $epoch, $close_immediately, array $parents)
 {
     $commit = new PhabricatorRepositoryCommit();
     $commit->setRepositoryID($repository->getID());
     $commit->setCommitIdentifier($commit_identifier);
     $commit->setEpoch($epoch);
     if ($close_immediately) {
         $commit->setImportStatus(PhabricatorRepositoryCommit::IMPORTED_CLOSEABLE);
     }
     $data = new PhabricatorRepositoryCommitData();
     $conn_w = $repository->establishConnection('w');
     try {
         // If this commit has parents, look up their IDs. The parent commits
         // should always exist already.
         $parent_ids = array();
         if ($parents) {
             $parent_rows = queryfx_all($conn_w, 'SELECT id, commitIdentifier FROM %T
         WHERE commitIdentifier IN (%Ls) AND repositoryID = %d', $commit->getTableName(), $parents, $repository->getID());
             $parent_map = ipull($parent_rows, 'id', 'commitIdentifier');
             foreach ($parents as $parent) {
                 if (empty($parent_map[$parent])) {
                     throw new Exception(pht('Unable to identify parent "%s"!', $parent));
                 }
                 $parent_ids[] = $parent_map[$parent];
             }
         } else {
             // Write an explicit 0 so we can distinguish between "really no
             // parents" and "data not available".
             if (!$repository->isSVN()) {
                 $parent_ids = array(0);
             }
         }
         $commit->openTransaction();
         $commit->save();
         $data->setCommitID($commit->getID());
         $data->save();
         foreach ($parent_ids as $parent_id) {
             queryfx($conn_w, 'INSERT IGNORE INTO %T (childCommitID, parentCommitID)
           VALUES (%d, %d)', PhabricatorRepository::TABLE_PARENTS, $commit->getID(), $parent_id);
         }
         $commit->saveTransaction();
         $this->insertTask($repository, $commit);
         queryfx($conn_w, 'INSERT INTO %T (repositoryID, size, lastCommitID, epoch)
       VALUES (%d, 1, %d, %d)
       ON DUPLICATE KEY UPDATE
         size = size + 1,
         lastCommitID =
           IF(VALUES(epoch) > epoch, VALUES(lastCommitID), lastCommitID),
         epoch = IF(VALUES(epoch) > epoch, VALUES(epoch), epoch)', PhabricatorRepository::TABLE_SUMMARY, $repository->getID(), $commit->getID(), $epoch);
         if ($this->repairMode) {
             // Normally, the query should throw a duplicate key exception. If we
             // reach this in repair mode, we've actually performed a repair.
             $this->log(pht('Repaired commit "%s".', $commit_identifier));
         }
         PhutilEventEngine::dispatchEvent(new PhabricatorEvent(PhabricatorEventType::TYPE_DIFFUSION_DIDDISCOVERCOMMIT, array('repository' => $repository, 'commit' => $commit)));
     } catch (AphrontDuplicateKeyQueryException $ex) {
         $commit->killTransaction();
         // Ignore. This can happen because we discover the same new commit
         // more than once when looking at history, or because of races or
         // data inconsistency or cosmic radiation; in any case, we're still
         // in a good state if we ignore the failure.
     }
 }
开发者ID:denghp,项目名称:phabricator,代码行数:63,代码来源:PhabricatorRepositoryDiscoveryEngine.php

示例2: canBuildForRepository

 protected function canBuildForRepository(PhabricatorRepository $repository)
 {
     return $repository->isSVN();
 }
开发者ID:rchicoli,项目名称:phabricator,代码行数:4,代码来源:DiffusionSubversionCommandEngine.php

示例3: renderCloneURI

 private function renderCloneURI(PhabricatorRepository $repository, PhabricatorRepositoryURI $uri)
 {
     if ($repository->isSVN()) {
         $display = csprintf('svn checkout %R %R', (string) $uri->getDisplayURI(), $repository->getCloneName());
     } else {
         $display = csprintf('%R', (string) $uri->getDisplayURI());
     }
     $display = (string) $display;
     $viewer = $this->getViewer();
     return id(new DiffusionCloneURIView())->setViewer($viewer)->setRepository($repository)->setRepositoryURI($uri)->setDisplayURI($display);
 }
开发者ID:rchicoli,项目名称:phabricator,代码行数:11,代码来源:DiffusionRepositoryController.php

示例4: shouldEnableForRepository

 public function shouldEnableForRepository(PhabricatorRepository $repository)
 {
     return $repository->isSVN();
 }
开发者ID:rchicoli,项目名称:phabricator,代码行数:4,代码来源:DiffusionRepositorySubversionManagementPanel.php


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