private function parseOutputLines($outputLines, $limit) { $this->commits = array(); $commits = Utilities::pregSplitFlatArray($outputLines, '/^[' . preg_quote('*_|\\ ') . ']+commit (\\w+)$/'); foreach ($commits as $commitOutputLinesRaw) { $commitOutputLines = array(); if (substr($commitOutputLinesRaw[0], 0, 1) != '*') { continue; } $shift = strpos($commitOutputLinesRaw[0], 'commit'); foreach ($commitOutputLinesRaw as $line) { $commitOutputLines[] = substr($line, $shift); } $this->commits[] = Commit::createFromOutputLines($this->getRepository(), $commitOutputLines); if (count($this->commits) == $limit) { break; } } }
/** * parse the output of a git command showing a commit * * @param array $outputLines output lines * * @throws \InvalidArgumentException */ private function parseOutputLines($outputLines) { $this->diffObjects = array(); $splitArray = Utilities::pregSplitArray($outputLines, '/^diff --git SRC\\/(.*) DST\\/(.*)$/'); foreach ($splitArray as $diffObjectLines) { $this->diffObjects[] = new DiffObject($diffObjectLines); } }
private function parseOutputLines($outputLines) { $this->commits = array(); $commits = Utilities::pregSplitFlatArray($outputLines, '/^commit (\\w+)$/'); foreach ($commits as $commitOutputLines) { $this->commits[] = Commit::createFromOutputLines($this->getRepository(), $commitOutputLines); } }
/** * Find the diff chunks * * @param array $lines output lines for the diff * @throws \InvalidArgumentException */ private function findChunks($lines) { $arrayChunks = Utilities::pregSplitArray($lines, '/^@@ -(\\d+,\\d+)|(\\d+) \\+(\\d+,\\d+)|(\\d+) @@(.*)$/'); foreach ($arrayChunks as $chunkLines) { $this->chunks[] = new DiffChunk($chunkLines); } }