uutils
coreutils
BlogDocsChangelog

ls: Implement -f flag to disable sorting and enable -a

#8824Merged
Comparing
naoNao89:feat/ls-f-option
(
87db5e9
) with
main
(
47f8722
)
CodSpeed Performance Gauge
+3%
Untouched
77
Archived
75

Benchmarks

Passed

ls_recursive_long_all_wide_tree[(15000, 1500)]
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
+3%
149.8 ms145.4 ms
du_summarize_balanced_tree[(5, 4, 10)]
src/uu/du/benches/du_bench.rs
CodSpeed Performance Gauge
+1%
8.6 ms8.4 ms
du_balanced_tree[(5, 4, 10)]
src/uu/du/benches/du_bench.rs
CodSpeed Performance Gauge
+1%
9.3 ms9.2 ms
du_human_balanced_tree[(5, 4, 10)]
src/uu/du/benches/du_bench.rs
CodSpeed Performance Gauge
+1%
10.5 ms10.4 ms
du_max_depth_balanced_tree[(6, 4, 10)]
src/uu/du/benches/du_bench.rs
CodSpeed Performance Gauge
+1%
33.1 ms32.8 ms
du_all_balanced_tree[(4, 3, 10)]
src/uu/du/benches/du_bench.rs
CodSpeed Performance Gauge
+1%
1.6 ms1.6 ms
ls_recursive_long_all_balanced_tree[(6, 4, 15)]
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
138.9 ms138.4 ms
ls_recursive_mixed_tree
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
1.4 ms1.4 ms
ls_recursive_deep_tree[(200, 2)]
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
2.1 ms2.1 ms
du_deep_tree[(100, 3)]
src/uu/du/benches/du_bench.rs
CodSpeed Performance Gauge
0%
1.1 ms1.1 ms
sort_mixed_data[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
730.7 ms729.5 ms
sort_key_field[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
689.3 ms689 ms
cp_recursive_balanced_tree[(5, 4, 10)]
src/uu/cp/benches/cp_bench.rs
CodSpeed Performance Gauge
0%
71.7 ms71.7 ms
sort_ascii_only[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
798 ms797.9 ms
tsort_linear_chain[1000000]
src/uu/tsort/benches/tsort_bench.rs
CodSpeed Performance Gauge
0%
1.5 s1.5 s
tsort_wide_dag[100000]
src/uu/tsort/benches/tsort_bench.rs
CodSpeed Performance Gauge
0%
135.5 ms135.5 ms
expand_custom_tabstops[50000]
src/uu/expand/benches/expand_bench.rs
CodSpeed Performance Gauge
0%
25.9 ms25.9 ms
uniq_case_insensitive[10000]
src/uu/uniq/benches/uniq_bench.rs
CodSpeed Performance Gauge
0%
1.7 ms1.7 ms
expand_many_lines[100000]
src/uu/expand/benches/expand_bench.rs
CodSpeed Performance Gauge
0%
100.9 ms100.9 ms
nl_large_file[10]
src/uu/nl/benches/nl_bench.rs
CodSpeed Performance Gauge
0%
100.6 ms100.6 ms
sort_reverse_locale[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
820.7 ms820.7 ms
sort_german_locale
src/uu/sort/benches/sort_locale_bench.rs
CodSpeed Performance Gauge
0%
94.5 ms94.5 ms
nl_many_lines[100000]
src/uu/nl/benches/nl_bench.rs
CodSpeed Performance Gauge
0%
79.5 ms79.5 ms
sort_case_insensitive[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
416.8 ms416.8 ms
sort_accented_data[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
819.2 ms819.2 ms
wc_words_synthetic[2000]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
10.3 s10.3 s
unexpand_large_file[10]
src/uu/unexpand/benches/unexpand_bench.rs
CodSpeed Performance Gauge
0%
548 ms548 ms
unexpand_many_lines[100000]
src/uu/unexpand/benches/unexpand_bench.rs
CodSpeed Performance Gauge
0%
261.4 ms261.4 ms
fold_many_lines[100000]
src/uu/fold/benches/fold_bench.rs
CodSpeed Performance Gauge
0%
125.3 ms125.3 ms
sort_reverse_mixed
src/uu/sort/benches/sort_locale_bench.rs
CodSpeed Performance Gauge
0%
93.2 ms93.2 ms
sort_case_sensitive[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
326.8 ms326.8 ms
fold_custom_width[50000]
src/uu/fold/benches/fold_bench.rs
CodSpeed Performance Gauge
0%
46.6 ms46.6 ms
wc_bytes_lines_synthetic[2000]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
120.2 ms120.2 ms
sort_ascii_c_locale
src/uu/sort/benches/sort_locale_bench.rs
CodSpeed Performance Gauge
0%
27.9 ms27.9 ms
sort_mixed_c_locale
src/uu/sort/benches/sort_locale_bench.rs
CodSpeed Performance Gauge
0%
94.1 ms94.1 ms
sort_numeric
src/uu/sort/benches/sort_locale_bench.rs
CodSpeed Performance Gauge
0%
21.7 ms21.7 ms
sort_german_c_locale
src/uu/sort/benches/sort_locale_bench.rs
CodSpeed Performance Gauge
0%
94.5 ms94.5 ms
tsort_complex_dag[50000]
src/uu/tsort/benches/tsort_bench.rs
CodSpeed Performance Gauge
0%
84 ms84 ms
wc_default_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
48.9 ms48.9 ms
wc_words_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
43.8 ms43.8 ms
sort_ascii_utf8_locale
src/uu/sort/benches/sort_locale_bench.rs
CodSpeed Performance Gauge
0%
55.8 ms55.8 ms
ls_recursive_long_all_deep_tree[(100, 4)]
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
3.1 ms3.1 ms
sort_unique_locale[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
1.1 s1.1 s
uniq_with_count[10000]
src/uu/uniq/benches/uniq_bench.rs
CodSpeed Performance Gauge
0%
1.8 ms1.8 ms
sort_mixed_utf8_locale
src/uu/sort/benches/sort_locale_bench.rs
CodSpeed Performance Gauge
0%
94.1 ms94.1 ms
numfmt_round_modes[("towards-zero", 10000)]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
34.5 ms34.5 ms
numfmt_round_modes[("down", 10000)]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
34.5 ms34.5 ms
numfmt_to_iec[10000]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
34 ms34 ms
numfmt_from_si[10000]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
33.1 ms33.1 ms
numfmt_to_si_precision[10000]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
35.3 ms35.3 ms
numfmt_to_si[10000]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
33.8 ms33.8 ms
numfmt_round_modes[("up", 10000)]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
32.7 ms32.7 ms
uniq_heavy_duplicates[10000]
src/uu/uniq/benches/uniq_bench.rs
CodSpeed Performance Gauge
0%
1.9 ms1.9 ms
wc_lines_variable_length[(50, 500)]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
3.4 ms3.4 ms
wc_lines_large_line_count[500000]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
2.9 ms2.9 ms
sort_unique_mixed
src/uu/sort/benches/sort_locale_bench.rs
CodSpeed Performance Gauge
0%
87.6 ms87.6 ms
tsort_tree_dag[(10, 3)]
src/uu/tsort/benches/tsort_bench.rs
CodSpeed Performance Gauge
0%
34.1 ms34.1 ms
cp_recursive_deep_tree[(120, 4)]
src/uu/cp/benches/cp_bench.rs
CodSpeed Performance Gauge
0%
13.3 ms13.3 ms
numfmt_large_numbers_si[10000]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
34.5 ms34.5 ms
wc_lines_extreme_line_lengths[(100000, 200)]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
1.6 ms1.6 ms
wc_chars_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
989.6 µs990.3 µs
du_wide_tree[(5000, 500)]
src/uu/du/benches/du_bench.rs
CodSpeed Performance Gauge
0%
11.2 ms11.2 ms
ls_recursive_balanced_tree[(6, 4, 15)]
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
55.7 ms55.8 ms
sort_dictionary_order[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
1.1 s1.1 s
cp_large_file[16]
src/uu/cp/benches/cp_bench.rs
CodSpeed Performance Gauge
0%
293.6 µs293.9 µs
cp_archive_balanced_tree[(5, 4, 10)]
src/uu/cp/benches/cp_bench.rs
CodSpeed Performance Gauge
0%
76.9 ms77 ms
b64_encode_synthetic
src/uu/base64/benches/base64_bench.rs
CodSpeed Performance Gauge
0%
141.8 µs142 µs
b64_decode_synthetic
src/uu/base64/benches/base64_bench.rs
CodSpeed Performance Gauge
0%
145.7 µs145.9 µs
sort_numeric[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
1.2 s1.2 s
b64_decode_ignore_garbage_synthetic
src/uu/base64/benches/base64_bench.rs
CodSpeed Performance Gauge
0%
145.2 µs145.4 µs
cp_recursive_wide_tree[(6000, 800)]
src/uu/cp/benches/cp_bench.rs
CodSpeed Performance Gauge
0%
188 ms188.4 ms
cp_preserve_metadata[(5, 4, 10)]
src/uu/cp/benches/cp_bench.rs
CodSpeed Performance Gauge
0%
74.2 ms74.3 ms
ls_recursive_long_all_mixed_tree
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
4 ms4 ms
numfmt_padding[(10000, 50)]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
48.4 ms48.5 ms
wc_bytes_synthetic[500]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
162.5 µs163 µs
du_all_wide_tree[(5000, 500)]
src/uu/du/benches/du_bench.rs
CodSpeed Performance Gauge
0%
18.1 ms18.1 ms
ls_recursive_wide_tree[(10000, 1000)]
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
-1%
51.2 ms51.6 ms

Commits

Click on a commit to change the comparison range
Base
main
47f8722
+3%
ls: implement -f flag with correct constant, color logic, and localization Fix the -f flag implementation to properly enable all files display, disable sorting, and handle color output correctly. Changes: - Correct UNSORTED_ALL constant from 'unsorted-all' to 'f' - Fix color logic to honor explicit --color flag regardless of -f position - Add French localization for ls-help-unsorted-all - Add comprehensive integration tests for -f flag behavior The explicit --color flag now always takes precedence over -f implicit color disabling, matching expected CLI behavior.
ce25b4d
3 months ago
by naoNao89
0%
tests: fix flaky ls tests that depend on filesystem directory order The tests test_f_flag_disables_sorting, test_big_u_overrides_f_sort, and test_f_overrides_sort_flags made incorrect assumptions that unsorted directory order would always differ from sorted order. However, fs::read_dir() returns entries in filesystem-dependent order which may accidentally match sorted order on some filesystems. Changes: - Removed assertions comparing unsorted vs sorted outputs - Added deterministic checks (e.g., verifying --sort after -f works) - Added explicit order verification for size-sorted outputs - Tests now verify flag precedence without relying on directory order Fixes CI failures on Windows and SELinux platforms. Quality checks passed: - cargo fmt --check: ✓ - cargo clippy --test tests: ✓ - all 3 modified tests pass: ✓
0be0a8d
3 months ago
by naoNao89
+0.01%
test: fix misleading test name for -U flag behavior Renamed test_big_u_overrides_f_sort to test_big_u_participates_in_sort_flag_wins to accurately reflect that it tests -U with -S interactions, not -f.
6b2eca8
3 months ago
by naoNao89
-0.03%
Merge branch 'main' into feat/ls-f-option
87db5e9
3 months ago
by naoNao89
© 2025 CodSpeed Technology
Home Terms Privacy Docs