Solved most of issue 93 by not requesting diff content most of the time.
Still need to handle the display of a large commit in the individual commit page.
This commit is contained in:
parent
48355417d7
commit
61bc7a70b6
@ -250,14 +250,22 @@ class IDF_Scm_Git
|
|||||||
* Get commit details.
|
* Get commit details.
|
||||||
*
|
*
|
||||||
* @param string Commit ('HEAD').
|
* @param string Commit ('HEAD').
|
||||||
|
* @param bool Get commit diff (false).
|
||||||
* @return array Changes.
|
* @return array Changes.
|
||||||
*/
|
*/
|
||||||
public function getCommit($commit='HEAD')
|
public function getCommit($commit='HEAD', $getdiff=false)
|
||||||
{
|
{
|
||||||
|
if ($getdiff) {
|
||||||
$cmd = sprintf('GIT_DIR=%s git show --date=iso --pretty=format:%s %s',
|
$cmd = sprintf('GIT_DIR=%s git show --date=iso --pretty=format:%s %s',
|
||||||
escapeshellarg($this->repo),
|
escapeshellarg($this->repo),
|
||||||
"'".$this->mediumtree_fmt."'",
|
"'".$this->mediumtree_fmt."'",
|
||||||
escapeshellarg($commit));
|
escapeshellarg($commit));
|
||||||
|
} else {
|
||||||
|
$cmd = sprintf('GIT_DIR=%s git log -1 --date=iso --pretty=format:%s %s',
|
||||||
|
escapeshellarg($this->repo),
|
||||||
|
"'".$this->mediumtree_fmt."'",
|
||||||
|
escapeshellarg($commit));
|
||||||
|
}
|
||||||
$out = array();
|
$out = array();
|
||||||
IDF_Scm::exec($cmd, $out);
|
IDF_Scm::exec($cmd, $out);
|
||||||
$log = array();
|
$log = array();
|
||||||
@ -278,7 +286,6 @@ class IDF_Scm_Git
|
|||||||
return $out[0];
|
return $out[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get latest changes.
|
* Get latest changes.
|
||||||
*
|
*
|
||||||
|
@ -216,7 +216,7 @@ class IDF_Views_Source
|
|||||||
}
|
}
|
||||||
$title = sprintf(__('%s Commit Details'), (string) $request->project);
|
$title = sprintf(__('%s Commit Details'), (string) $request->project);
|
||||||
$page_title = sprintf(__('%s Commit Details - %s'), (string) $request->project, $commit);
|
$page_title = sprintf(__('%s Commit Details - %s'), (string) $request->project, $commit);
|
||||||
$cobject = $scm->getCommit($commit);
|
$cobject = $scm->getCommit($commit, true);
|
||||||
$rcommit = IDF_Commit::getOrAdd($cobject, $request->project);
|
$rcommit = IDF_Commit::getOrAdd($cobject, $request->project);
|
||||||
$diff = new IDF_Diff($cobject->changes);
|
$diff = new IDF_Diff($cobject->changes);
|
||||||
$diff->parse();
|
$diff->parse();
|
||||||
|
Loading…
Reference in New Issue
Block a user