Manually tested it works with default, true, and false value.
Details
- Reviewers
epriestley - Group Reviewers
Blessed Reviewers - Maniphest Tasks
- T4322: Diffusion show folders first
Diff Detail
- Repository
- rP Phabricator
- Branch
- folder-first-plz
- Lint
Lint Skipped - Unit
Tests Skipped - Build Status
Buildable 798 Build 798: [Placeholder Plan] Wait for 30 Seconds
Event Timeline
I had to skip lint and unit for the review to get sent out. Otherwise, I ran into the follow error:
[2014-05-31 05:41:50] EXCEPTION: (PhutilTypeExtraParametersException) Got unexpected parameters: exclude at [/Users/oskall/workspace/phabricator/libphutil/src/parser/PhutilTypeSpec.php:152] #0 PhutilTypeSpec::checkMap(Array of size 2 starting with: { exclude => Array of size 2 starting with: { 0 => (^externals/) } }, Array of size 2 starting with: { linters => map<string, map<string, wild>> }) called at [/Users/oskall/workspace/phabricator/arcanist/src/lint/engine/ArcanistConfigurationDrivenLintEngine.php:32] #1 ArcanistConfigurationDrivenLintEngine::buildLinters() called at [/Users/oskall/workspace/phabricator/arcanist/src/lint/engine/ArcanistLintEngine.php:206] #2 ArcanistLintEngine::run() called at [/Users/oskall/workspace/phabricator/arcanist/src/workflow/ArcanistLintWorkflow.php:359] #3 ArcanistLintWorkflow::run() called at [/Users/oskall/workspace/phabricator/arcanist/src/workflow/ArcanistDiffWorkflow.php:1236] #4 ArcanistDiffWorkflow::runLint() called at [/Users/oskall/workspace/phabricator/arcanist/src/workflow/ArcanistDiffWorkflow.php:1197] #5 ArcanistDiffWorkflow::runLintUnit() called at [/Users/oskall/workspace/phabricator/arcanist/src/workflow/ArcanistDiffWorkflow.php:484] #6 ArcanistDiffWorkflow::run() called at [/Users/oskall/workspace/phabricator/arcanist/scripts/arcanist.php:321]
Any idea why the error above?
Your version of arc is not up-to-date and is not compatible with the .arclint file that is used for linting.
I'm very hesitant to add a config option for this. I'm also not really sure that it's particularly valuable. What sort of file layout makes this useful?
This approach makes T4366 (listing very large directories) more difficult to fix consistently, since limiting the query results to the first, say, 250 items will no longer select the first 250 display items. If we do pursue this, it should probably happen behind the diffusion.browsequery call (i.e., via a new "order" parameter).
This layout is most intuitive in my opinion, because it is consistent with other tools I use. Navigating without folders first personally throws me off -- I wouldn't be surprised if others feel the same way. Some examples are:
- GitHub repository browser
- RubyMine/PhpStorm project explorer:
- Sublime text
- Windows Explorer:
That being said, Mac's finder seems to be a counter example. What do you think?
The OS X Finder, TextMate, and ls don't do this. Also, git ls-tree, hg manifest, and svn ls don't do it.
At least in projects I work in regularly, it doesn't seem like it's very useful to me on its own -- that is, it's not clear to me why any of those programs do it, except that the other programs do it. (Windows might do it because DOS 1.0 did it, because of some leaky implementation detail, but I can't find anything to this effect online.)
If the only reasoning for choosing one order over another is personal familiarity, that suggests this should be a per user option rather than a global option, which I'm even more hesitant about.
You're right, different developers use different tools that sort files and folders differently. From that perspective, a global setting wouldn't make sense. It would maybe make more sense as a user setting. I can look into that if you think it's worth it for more users - right now, it seems that only myself and the author of T4322 are interested in the feature.
I would love to have this feature too, although I agree it should be a user preference.
In my personal opinion folder first is a standard in non command line tools.