More Diffusion junk.

This commit is contained in:
epriestley
2011-03-30 22:08:41 -07:00
parent 793df0cfc5
commit e6cf7a9cb0
12 changed files with 69 additions and 30 deletions

View File

@@ -92,9 +92,14 @@ abstract class DiffusionController extends PhabricatorController {
}
public function buildCrumbs(array $spec = array()) {
$drequest = $this->diffusionRequest;
$crumbs = new AphrontCrumbsView();
$crumb_list = $this->buildCrumbList($spec);
$crumbs->setCrumbs($crumb_list);
return $crumbs;
}
private function buildCrumbList(array $spec = array()) {
$drequest = $this->getDiffusionRequest();
$crumb_list = array();
@@ -108,8 +113,7 @@ abstract class DiffusionController extends PhabricatorController {
'Diffusion');
} else {
$crumb_list[] = 'Diffusion';
$crumbs->setCrumbs($crumb_list);
return $crumbs;
return $crumb_list;
}
$callsign = $repository->getCallsign();
@@ -124,8 +128,7 @@ abstract class DiffusionController extends PhabricatorController {
if (empty($spec['view']) && empty($spec['commit'])) {
$crumb_list[] = $repository_name;
$crumbs->setCrumbs($crumb_list);
return $crumbs;
return $crumb_list;
}
$crumb_list[] = phutil_render_tag(
@@ -138,8 +141,7 @@ abstract class DiffusionController extends PhabricatorController {
$raw_commit = $drequest->getRawCommit();
if (isset($spec['commit'])) {
$crumb_list[] = "r{$callsign}{$raw_commit}";
$crumbs->setCrumbs($crumb_list);
return $crumbs;
return $crumb_list;
}
$view = $spec['view'];
@@ -167,8 +169,7 @@ abstract class DiffusionController extends PhabricatorController {
case 'change':
$view_name = 'Change';
$crumb_list[] = phutil_escape_html($path).' ('.$commit_link.')';
$crumbs->setCrumbs($crumb_list);
return $crumbs;
return $crumb_list;
}
$view_root_uri = "/diffusion/{$callsign}/{$view}/{$branch_uri}";
@@ -231,10 +232,7 @@ abstract class DiffusionController extends PhabricatorController {
$crumb_list[] = $last_crumb;
$crumbs->setCrumbs($crumb_list);
return $crumbs;
return $crumb_list;
}
}

View File

@@ -47,7 +47,6 @@ class DiffusionChangeController extends DiffusionController {
$changeset_view->render().
'</div>';
$nav = $this->buildSideNav('change', true);
$nav->appendChild($content);

View File

@@ -109,7 +109,28 @@ class DiffusionCommitController extends DiffusionController {
if ($changes) {
$changesets = DiffusionPathChange::convertToDifferentialChangesets(
$changes);
foreach ($changesets as $changeset) {
$vcs = $repository->getVersionControlSystem();
switch ($vcs) {
case PhabricatorRepositoryType::REPOSITORY_TYPE_SVN:
$vcs_supports_directory_changes = true;
break;
case PhabricatorRepositoryType::REPOSITORY_TYPE_GIT:
$vcs_supports_directory_changes = false;
break;
default:
throw new Exception("Unknown VCS.");
}
foreach ($changesets as $key => $changeset) {
$file_type = $changeset->getFileType();
if ($file_type == DifferentialChangeType::FILE_DIRECTORY) {
if (!$vcs_supports_directory_changes) {
unset($changesets[$key]);
continue;
}
}
$branch = $drequest->getBranchURIComponent(
$drequest->getBranch());
$filename = $changeset->getFilename();

View File

@@ -6,12 +6,14 @@
phutil_require_module('phabricator', 'applications/differential/constants/changetype');
phutil_require_module('phabricator', 'applications/differential/parser/markup');
phutil_require_module('phabricator', 'applications/differential/view/changesetlistview');
phutil_require_module('phabricator', 'applications/diffusion/controller/base');
phutil_require_module('phabricator', 'applications/diffusion/data/pathchange');
phutil_require_module('phabricator', 'applications/diffusion/query/pathchange/base');
phutil_require_module('phabricator', 'applications/diffusion/view/commitchangetable');
phutil_require_module('phabricator', 'applications/repository/constants/repositorytype');
phutil_require_module('phabricator', 'applications/repository/storage/repository');
phutil_require_module('phabricator', 'infrastructure/celerity/api');
phutil_require_module('phabricator', 'storage/queryfx');