code: protected function runCommands($commands, $repository)
      {
          $repo = $this['repositories'][$repository];
          $directory = (is_array($repo)) ? $repo['path'] : $repo;
  
          foreach ($commands as $cmd) {
              $process = new Process($cmd);
              $process->setWorkingDirectory($directory);
              $process->setTimeout(180);
              $process->run();
  
              if ($process->isSuccessful()) {
                  $this->log(
                      LogLevel::NOTICE,
                      'Successfully executed pre/post-sync-command',
                      array(
                          'repository' => $repository,
                          'cmd' => $cmd,
                          'output' => $process->getOutput()
                      )
                  );
              } else {
                  $this->log(
                      LogLevel::ERROR,
                      'Executing pre/post-sync-command failed',
                      array(
                          'repository' => $repository,
                          'cmd' => $cmd,
                          'output' => $process->getErrorOutput()
                      )
                  );
              }
          }
      }
docs: Runs pre/post-sync commands in the context of the specified repository
  
  @param string $reposity The URL of the repository