diff --git a/src/IDF/Git.php b/src/IDF/Git.php index 00f1272..484a558 100644 --- a/src/IDF/Git.php +++ b/src/IDF/Git.php @@ -69,9 +69,11 @@ class IDF_Git $cmd = sprintf('GIT_DIR=%s git-ls-tree -t -l %s', $this->repo, $base->hash); exec($cmd, &$out); $rawlog = array(); - $cmd = sprintf('GIT_DIR=%s git log --raw --abbrev=40 --pretty=oneline', - $this->repo); - exec($cmd, &$rawlog); + foreach ($this->getBranches() as $br) { + $cmd = sprintf('GIT_DIR=%s git log --raw --abbrev=40 --pretty=oneline %s', + $this->repo, $br); + exec($cmd, &$rawlog); + } $rawlog = implode("\n", array_reverse($rawlog)); $current_dir = getcwd(); chdir(substr($this->repo, 0, -5)); @@ -193,6 +195,7 @@ class IDF_Git escapeshellarg($this->repo), $n, $format, $tree); $out = array(); exec($cmd, &$out); + //print_r($cmd); return self::parseLog($out, 4); } diff --git a/src/IDF/Views/Source.php b/src/IDF/Views/Source.php index fa89830..8a4b31c 100644 --- a/src/IDF/Views/Source.php +++ b/src/IDF/Views/Source.php @@ -58,9 +58,12 @@ class IDF_Views_Source $tree = $match[2]; $cobject = ''; $tree_in = in_array($tree, $branches); - foreach ($git->getChangeLog('', null) as $change) { - if ($change->tree == $tree) { - $cobject = $change; + foreach ($branches as $br) { + foreach ($git->getChangeLog($br, null) as $change) { + if ($change->tree == $tree) { + $cobject = $change; + break 2; + } } } return Pluf_Shortcuts_RenderToResponse('source/tree.html', @@ -98,9 +101,12 @@ class IDF_Views_Source $prev = split('/', $request_file); $l = array_pop($prev); $previous = substr($request_file, 0, -strlen($l.' ')); - foreach ($git->getChangeLog('', null) as $change) { - if ($change->tree == $tree) { - $cobject = $change; //$git->getCommit($tree); + foreach ($branches as $br) { + foreach ($git->getChangeLog($br, null) as $change) { + if ($change->tree == $tree) { + $cobject = $change; + break 2; + } } } return Pluf_Shortcuts_RenderToResponse('source/tree.html',