public function testParseLinesGitSuccess() { $filename = __DIR__ . '/Parse/Git/data/diff_add'; $parser = new Parser(); $changeset = $parser->parseLines(file($filename, FILE_IGNORE_NEW_LINES), Parser::VCS_GIT); $fileList = $changeset->getFiles(); $this->assertEquals(1, count($fileList[0]->getHunks())); $file = new File('', 'README.md', File::CREATED, array(new Hunk(0, 0, 0, 1, array(new Line(-1, 0, Line::ADDED, '## Test'))))); $this->assertEquals($file, $fileList[0]); }
/** * Get a changeset for the specified revision * * @param RevisionLogInterface $revisionLog * * @return RevisionInterface */ public function getRevision(RevisionLogInterface $revisionLog) { $result = $this->executor->execute(array('diff', '-c', $revisionLog->getIdentifier())); $parser = new Parser(); $changeset = $parser->parseLines($result->getStdOutLines(), Parser::VCS_SVN); return new Revision($revisionLog, $changeset); }
/** * Get a changeset for the specified revision * * @param RevisionLogInterface $revisionLog * * @return RevisionInterface */ public function getRevision(RevisionLogInterface $revisionLog) { $result = $this->executor->execute(array('format-patch', '-1', '--stdout', $revisionLog->getIdentifier())); $parser = new Parser(); $changeset = $parser->parseLines($result->getStdOutLines(), Parser::VCS_GIT); return new Revision($revisionLog, $changeset); }