Path: blob/master/src/applications/diffusion/protocol/DiffusionSubversionCommandEngine.php
12242 views
<?php12final class DiffusionSubversionCommandEngine3extends DiffusionCommandEngine {45protected function canBuildForRepository(6PhabricatorRepository $repository) {7return $repository->isSVN();8}910protected function newFormattedCommand($pattern, array $argv) {11$flags = array();12$args = array();1314$flags[] = '--non-interactive';1516if ($this->isAnyHTTPProtocol() || $this->isSVNProtocol()) {17$flags[] = '--no-auth-cache';1819if ($this->isAnyHTTPProtocol()) {20$flags[] = '--trust-server-cert';21}2223$credential_phid = $this->getCredentialPHID();24if ($credential_phid) {25$key = PassphrasePasswordKey::loadFromPHID(26$credential_phid,27PhabricatorUser::getOmnipotentUser());2829$flags[] = '--username %P';30$args[] = $key->getUsernameEnvelope();3132$flags[] = '--password %P';33$args[] = $key->getPasswordEnvelope();34}35}3637$flags = implode(' ', $flags);38$pattern = "svn {$flags} {$pattern}";3940return array($pattern, array_merge($args, $argv));41}4243protected function newCustomEnvironment() {44$env = array();4546$env['SVN_SSH'] = $this->getSSHWrapper();4748return $env;49}5051}525354