Issue 112: take two

This commit is contained in:
Nathan Adams 2015-11-15 23:11:23 -06:00
parent 7f1ef7dc40
commit c23553c16a

View File

@ -778,26 +778,31 @@ class IDF_Scm_Git extends IDF_Scm
sprintf($cmd, $skip), $rawlog); sprintf($cmd, $skip), $rawlog);
while (count($rawlog) and count($blobs)) { while (count($rawlog) and count($blobs)) {
$rawlog = implode("\n", array_reverse($rawlog)); $rawlog = implode("\n", array_reverse($rawlog));
$newRawLog = substr($rawlog, 0, strrpos(rtrim($rawlog), "\n")); $tmpRes = [];
$rawLogArr = explode("\n", $rawlog); foreach(explode("\n", $rawlog) as $line) {
$lastLine = $rawLogArr[count($rawLogArr) - 1]; if ($line[0] != ":") { //This is the commit number line
$commit = explode(" ", $lastLine)[0]; $commit = explode(" ", $line)[0];
$fc = $this->getCommit($commit); $fc = $this->getCommit($commit);
foreach($tmpRes as $r) {
$res[$r["hash"]] = (object) [
foreach(explode("\n", $newRawLog) as $line) { "hash" => $r["hash"],
$sides = explode("\t", $line); "date" => $fc->date,
$leftSide = trim($sides[0]); "title" => $fc->title,
$rightSide = trim($sides[1]); "author" => $fc->author
$leftSideSplit = explode(" ", $leftSide); ];
$newHash = sha1($leftSideSplit[3] . $rightSide); }
$res[$newHash] = (object) [ $tmpRes = [];
"hash" => $newHash, } else {
'date' => $fc->date, $sides = explode("\t", $line);
'title' => $fc->title, $leftSide = trim($sides[0]);
'author' => $fc->author $rightSide = trim($sides[1]);
]; $leftSideSplit = explode(" ", $leftSide);
unset($blobs[$newHash]); $newHash = sha1($leftSideSplit[3] . $rightSide);
$tmpRes[$newHash] = [
"hash" => $newHash
];
unset($blobs[$newHash]);
}
} }
$rawlog = array(); $rawlog = array();
$skip += 5000; $skip += 5000;