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


PHP PhabricatorRepository::openTransaction方法代码示例

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


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

示例1: checkIfRepositoryIsFullyImported

 private function checkIfRepositoryIsFullyImported(PhabricatorRepository $repository)
 {
     // Check if the repository has the "Importing" flag set. We want to clear
     // the flag if we can.
     $importing = $repository->getDetail('importing');
     if (!$importing) {
         // This repository isn't marked as "Importing", so we're done.
         return;
     }
     // Look for any commit which hasn't imported.
     $unparsed_commit = queryfx_one($repository->establishConnection('r'), 'SELECT * FROM %T WHERE repositoryID = %d AND (importStatus & %d) != %d
     LIMIT 1', id(new PhabricatorRepositoryCommit())->getTableName(), $repository->getID(), PhabricatorRepositoryCommit::IMPORTED_ALL, PhabricatorRepositoryCommit::IMPORTED_ALL);
     if ($unparsed_commit) {
         // We found a commit which still needs to import, so we can't clear the
         // flag.
         return;
     }
     // Clear the "importing" flag.
     $repository->openTransaction();
     $repository->beginReadLocking();
     $repository = $repository->reload();
     $repository->setDetail('importing', false);
     $repository->save();
     $repository->endReadLocking();
     $repository->saveTransaction();
 }
开发者ID:truSense,项目名称:phabricator,代码行数:26,代码来源:PhabricatorRepositoryManagementUpdateWorkflow.php

示例2: pht

            $type = PassphraseSSHPrivateKeyFileCredentialType::CREDENTIAL_TYPE;
        } else {
            $secret = $repository->getDetail('ssh-key');
            $type = PassphraseSSHPrivateKeyTextCredentialType::CREDENTIAL_TYPE;
        }
    }
    if (!$username || !$secret) {
        echo pht('...no credentials set.') . "\n";
        continue;
    }
    $map[$type][$username][$secret][] = $repository;
    echo pht('...will migrate.') . "\n";
}
$passphrase = new PassphraseSecret();
$passphrase->openTransaction();
$table->openTransaction();
foreach ($map as $credential_type => $credential_usernames) {
    $type = PassphraseCredentialType::getTypeByConstant($credential_type);
    foreach ($credential_usernames as $username => $credential_secrets) {
        foreach ($credential_secrets as $secret_plaintext => $repositories) {
            $callsigns = mpull($repositories, 'getCallsign');
            $signs = implode(', ', $callsigns);
            $name = pht('Migrated Repository Credential (%s)', id(new PhutilUTF8StringTruncator())->setMaximumGlyphs(128)->truncateString($signs));
            echo pht('Creating: %s...', $name) . "\n";
            $secret = id(new PassphraseSecret())->setSecretData($secret_plaintext)->save();
            $secret_id = $secret->getID();
            $credential = PassphraseCredential::initializeNewCredential($viewer)->setCredentialType($type->getCredentialType())->setProvidesType($type->getProvidesType())->setViewPolicy(PhabricatorPolicies::POLICY_ADMIN)->setEditPolicy(PhabricatorPolicies::POLICY_ADMIN)->setName($name)->setUsername($username)->setSecretID($secret_id);
            $credential->setPHID($credential->generatePHID());
            queryfx($credential->establishConnection('w'), 'INSERT INTO %T (name, credentialType, providesType, viewPolicy,
          editPolicy, description, username, secretID, isDestroyed,
          phid, dateCreated, dateModified)
开发者ID:hrb518,项目名称:phabricator,代码行数:31,代码来源:20131121.repocredentials.2.mig.php


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