$request);␊ |
}␊ |
␊ |
public $downloadDiff_precond = array('IDF_Precondition::accessSource');␊ |
public function downloadDiff($request, $match)␊ |
{␊ |
$scm = IDF_Scm::get($request);␊ |
$commit = $match[2];␊ |
$branches = $scm->getBranches();␊ |
if ('commit' != $scm->testHash($commit)) {␊ |
// Redirect to the first branch␊ |
$url = Pluf_HTTP_URL_urlForView('IDF_Views_Source::treeBase',␊ |
array($request->project->shortname,␊ |
$branches[0]));␊ |
return new Pluf_HTTP_Response_Redirect($url);␊ |
}␊ |
$cobject = $scm->getCommit($commit);␊ |
$rep = new Pluf_HTTP_Response($cobject->changes, 'text/plain');␊ |
$rep->headers['Content-Disposition'] = 'attachment; filename="'.$commit.'.diff"';␊ |
return $rep;␊ |
}␊ |
␊ |
/**␊ |
* Should only be called through self::tree␊ |
*/␊ |