| {␊ | 
| $title = sprintf(__('%1$s %2$s Change Log'), (string) $request->project,␊ | 
| $this->getScmType($request));␊ | 
| $scm = IDF_Scm::get($request);␊ | 
| $scm = IDF_Scm::get($request->project);␊ | 
| $branches = $scm->getBranches();␊ | 
| $commit = $match[2];␊ | 
| if ('commit' != $scm->testHash($commit)) {␊ | 
|  | 
| {␊ | 
| $title = sprintf(__('%1$s %2$s Source Tree'), (string) $request->project,␊ | 
| $this->getScmType($request));␊ | 
| $scm = IDF_Scm::get($request);␊ | 
| $scm = IDF_Scm::get($request->project);␊ | 
| $commit = $match[2];␊ | 
| $branches = $scm->getBranches();␊ | 
| if ('commit' != $scm->testHash($commit)) {␊ | 
|  | 
| {␊ | 
| $title = sprintf(__('%1$s %2$s Source Tree'), (string) $request->project,␊ | 
| $this->getScmType($request));␊ | 
| $scm = IDF_Scm::get($request);␊ | 
| $scm = IDF_Scm::get($request->project);␊ | 
| $branches = $scm->getBranches();␊ | 
| $commit = $match[2];␊ | 
| $request_file = $match[3];␊ | 
|  | 
| public $commit_precond = array('IDF_Precondition::accessSource');␊ | 
| public function commit($request, $match)␊ | 
| {␊ | 
| $scm = IDF_Scm::get($request);␊ | 
| $scm = IDF_Scm::get($request->project);␊ | 
| $commit = $match[2];␊ | 
| $branches = $scm->getBranches();␊ | 
| if ('commit' != $scm->testHash($commit)) {␊ | 
|  | 
| public $downloadDiff_precond = array('IDF_Precondition::accessSource');␊ | 
| public function downloadDiff($request, $match)␊ | 
| {␊ | 
| $scm = IDF_Scm::get($request);␊ | 
| $scm = IDF_Scm::get($request->project);␊ | 
| $commit = $match[2];␊ | 
| $branches = $scm->getBranches();␊ | 
| if ('commit' != $scm->testHash($commit)) {␊ | 
|  | 
| {␊ | 
| $title = sprintf(__('%1$s %2$s Source Tree'), (string) $request->project,␊ | 
| $this->getScmType($request));␊ | 
| $scm = IDF_Scm::get($request);␊ | 
| $scm = IDF_Scm::get($request->project);␊ | 
| $branches = $extra['branches'];␊ | 
| $commit = $extra['commit'];␊ | 
| $request_file = $extra['request_file'];␊ | 
|  | 
| public $getFile_precond = array('IDF_Precondition::accessSource');␊ | 
| public function getFile($request, $match)␊ | 
| {␊ | 
| $scm = IDF_Scm::get($request);␊ | 
| $scm = IDF_Scm::get($request->project);␊ | 
| $branches = $scm->getBranches();␊ | 
| $commit = $match[2];␊ | 
| $request_file = $match[3];␊ | 
|  | 
| public function download($request, $match)␊ | 
| {␊ | 
| $commit = trim($match[2]);␊ | 
| $scm = IDF_Scm::get($request);␊ | 
| $scm = IDF_Scm::get($request->project);␊ | 
| $branches = $scm->getBranches();␊ | 
| if ('commit' != $scm->testHash($commit)) {␊ | 
| // Redirect to the first branch␊ |