Fix compat with Symfony Process 4.2, fixes #7923
parent
c5cc178375
commit
a9aaa25d4c
|
@ -557,7 +557,12 @@ EOT
|
|||
$finder = new ExecutableFinder();
|
||||
$gitBin = $finder->find('git');
|
||||
|
||||
$cmd = new Process(sprintf('%s config -l', ProcessExecutor::escape($gitBin)));
|
||||
// TODO in v3 always call with an array
|
||||
if (method_exists('Symfony\Component\Process\Process', 'fromShellCommandline')) {
|
||||
$cmd = new Process(array($gitBin, 'config', '-l'));
|
||||
} else {
|
||||
$cmd = new Process(sprintf('%s config -l', ProcessExecutor::escape($gitBin)));
|
||||
}
|
||||
$cmd->run();
|
||||
|
||||
if ($cmd->isSuccessful()) {
|
||||
|
|
|
@ -370,7 +370,13 @@ class Perforce
|
|||
public function windowsLogin($password)
|
||||
{
|
||||
$command = $this->generateP4Command(' login -a');
|
||||
$process = new Process($command, null, null, $password);
|
||||
|
||||
// TODO in v3 generate command as an array
|
||||
if (method_exists('Symfony\Component\Process\Process', 'fromShellCommandline')) {
|
||||
$process = Process::fromShellCommandline($command, null, null, $password);
|
||||
} else {
|
||||
$process = new Process($command, null, null, $password);
|
||||
}
|
||||
|
||||
return $process->run();
|
||||
}
|
||||
|
|
|
@ -62,7 +62,13 @@ class ProcessExecutor
|
|||
|
||||
$this->captureOutput = func_num_args() > 1;
|
||||
$this->errorOutput = null;
|
||||
$process = new Process($command, $cwd, null, null, static::getTimeout());
|
||||
|
||||
// TODO in v3, commands should be passed in as arrays of cmd + args
|
||||
if (method_exists('Symfony\Component\Process\Process', 'fromShellCommandline')) {
|
||||
$process = Process::fromShellCommandline($command, $cwd, null, null, static::getTimeout());
|
||||
} else {
|
||||
$process = new Process($command, $cwd, null, null, static::getTimeout());
|
||||
}
|
||||
|
||||
$callback = is_callable($output) ? $output : array($this, 'outputHandler');
|
||||
$process->run($callback);
|
||||
|
|
Loading…
Reference in New Issue