Example #1
0
 } else {
     if (in_array($svnNumber->getAction(), array("st", "status"))) {
         $status = new Status($svnNumber, $staging);
         printStatus($status);
     } else {
         if (in_array($svnNumber->getAction(), array("di", "diff"))) {
             $diff = new Diff($svnNumber);
             if ($svnNumber->hasRequestedNumbers()) {
                 $status = new Status($svnNumber, $staging);
                 $allLinesInformation = $status->getLineInformationFromFileNumbers($svnNumber->getRequestedNumbers());
                 $filePaths = array_map(function (Line $line) {
                     return $line->getFilePath();
                 }, $allLinesInformation);
                 exit($diff->getOutputForFilePaths($filePaths));
             } else {
                 exit($diff->getOutputAll());
             }
         } else {
             if (in_array($svnNumber->getAction(), array("ci", "commit"))) {
                 /**
                  * Apply same action to multiple files (bulk). E.g.:
                  *      # svn commit foo.txt bar.txt -m "Two files committed"
                  */
                 if ($svnNumber->hasRequestedNumbers()) {
                     $status = new Status($svnNumber, $staging);
                     $filePaths = array_map(function (Line $line) {
                         return escapeshellarg($line->getFilePath());
                     }, $status->getLineInformationFromFileNumbers($svnNumber->getRequestedNumbers()));
                     $svnNumber->exec(sprintf("svn %s %s %s", $svnNumber->getAction(), implode(" ", $filePaths), $svnNumber->getAdditionalArgsStr()));
                     exit;
                 }