Page MenuHomePhabricator

D9343.diff
No OneTemporary

D9343.diff

diff --git a/src/applications/diffusion/config/PhabricatorDiffusionConfigOptions.php b/src/applications/diffusion/config/PhabricatorDiffusionConfigOptions.php
--- a/src/applications/diffusion/config/PhabricatorDiffusionConfigOptions.php
+++ b/src/applications/diffusion/config/PhabricatorDiffusionConfigOptions.php
@@ -65,7 +65,13 @@
pht("Disable Closing Audits"),
))
->setDescription(pht('Controls whether Author can Close Audits.')),
-
+ $this->newOption('diffusion.browser.folders_before_files', 'bool', false)
+ ->setBoolOptions(
+ array(
+ pht("Display folders before files"),
+ pht("Do not display folders before files"),
+ ))
+ ->setDescription(pht('Controls whether folders are displayed before files in repository browser.')),
$this->newOption('bugtraq.url', 'string', '')
->addExample('https://bugs.php.net/%BUGID%', pht('PHP bugs'))
->addExample('/%BUGID%', pht('Local Maniphest URL'))
diff --git a/src/applications/diffusion/view/DiffusionBrowseTableView.php b/src/applications/diffusion/view/DiffusionBrowseTableView.php
--- a/src/applications/diffusion/view/DiffusionBrowseTableView.php
+++ b/src/applications/diffusion/view/DiffusionBrowseTableView.php
@@ -28,6 +28,8 @@
$need_pull = array();
$rows = array();
+ $folder_rows = array();
+ $display_folders_first = PhabricatorEnv::getEnvConfig('diffusion.browser.folders_before_files');
$show_edit = false;
foreach ($this->paths as $path) {
@@ -76,15 +78,27 @@
$dict[$k] = phutil_tag('span', array('id' => $uniq), '');
}
- $rows[] = array(
- $browse_link,
- idx($dict, 'lint'),
- $dict['commit'],
- $dict['author'],
- $dict['details'],
- $dict['date'],
- $dict['time'],
- );
+ if ($display_folders_first && $file_type == DifferentialChangeType::FILE_DIRECTORY) {
+ $folder_rows[] = array(
+ $browse_link,
+ idx($dict, 'lint'),
+ $dict['commit'],
+ $dict['author'],
+ $dict['details'],
+ $dict['date'],
+ $dict['time'],
+ );
+ } else {
+ $rows[] = array(
+ $browse_link,
+ idx($dict, 'lint'),
+ $dict['commit'],
+ $dict['author'],
+ $dict['details'],
+ $dict['date'],
+ $dict['time'],
+ );
+ }
}
if ($need_pull) {
@@ -104,7 +118,7 @@
$show_lint = ($branch && $branch->getLintCommit());
$lint = $request->getLint();
- $view = new AphrontTableView($rows);
+ $view = new AphrontTableView(array_merge($folder_rows, $rows));
$view->setHeaders(
array(
pht('Path'),

File Metadata

Mime Type
text/plain
Expires
Sat, Apr 26, 10:05 PM (1 w, 5 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7724132
Default Alt Text
D9343.diff (2 KB)

Event Timeline