Commit graph

4493 commits

Author SHA1 Message Date
John Shin
426cce7df0 rmdir: use is_empty() 2023-07-28 17:10:36 -07:00
John Shin
0d56792c58 mv: use is_empty() 2023-07-28 17:09:23 -07:00
Simon Legner
24319791ec
tsort: use Iterator.all 2023-07-28 21:25:11 +02:00
Owen Anderson
e9f89c46e0 Use rotate_right instead of explicit expansion. 2023-07-27 23:43:16 -06:00
Terts Diepraam
c2997718cd touch: move from time to chrono
This allows us to work with daylight savings time which is necessary to enable one of the tests. The leap second calculation and parsing are also ported over. A bump in the chrono version is necessary to use NaiveTime::MIN.
2023-07-27 17:06:38 +02:00
Sylvestre Ledru
4004281f34
Merge pull request #5100 from cakebaker/nl_shorten_enum_variants
nl: shorten variants of NumberingStyle enum
2023-07-25 20:18:55 +02:00
Sylvestre Ledru
9449eda51d
Merge pull request #5103 from cakebaker/nl_join_blank_lines_show_error_if_zero
nl: show error if --join-blank-lines is zero
2023-07-25 20:18:43 +02:00
Sylvestre Ledru
e77a1bf54c
Merge pull request #4342 from tmccombs/mktemp-req-equals
Require = for --tmpdir in mktemp
2023-07-21 14:36:25 +02:00
Daniel Hofstetter
d40a25db5d csplit: remove explicit "into_iter()" 2023-07-21 10:52:03 +02:00
Daniel Hofstetter
aef130dae7 nl: show error if --join-blank-lines is zero 2023-07-20 15:26:46 +02:00
Daniel Hofstetter
013e94522e nl: shorten variants of NumberingStyle enum 2023-07-20 09:45:21 +02:00
Daniel Hofstetter
d7d2ad52db nl: fix zero padding of negative line numbers 2023-07-19 16:22:53 +02:00
Sylvestre Ledru
e15e03a2bf
Merge pull request #5091 from cakebaker/nl_fix_output_of_line_numbers
nl: fix calculation of line number lengths
2023-07-19 15:39:35 +02:00
Sylvestre Ledru
0126f20926
Merge pull request #5089 from cakebaker/cat_remove_long_version_of_t_arg
cat: remove --t
2023-07-18 19:35:06 +02:00
Thayne McCombs
6262a3e9d9 Add tests for mktemp tmpdir flags
And set overrides_with for tmpdir flags.

Tests were copied from #4275

Co-authored-by: David Matos <davidmatos06@gmail.com>
2023-07-18 12:46:05 +02:00
Thayne McCombs
b77a08c134 Require = for --tmpdir in mktemp
Fixes #3454

This implementation more closely matches the behavior of GNU mktemp. Specifically,
if using the short-form `-p`, then DIR is required, and if using the long form `--tmpdir`
then DIR is optional, but if provided, must use the `--tmpdir=DIR` form (not `--tempdir DIR`),
so that there is no ambiguity with also passing a TEMPLATE.

The downside to this implementation is we are now introducing a new workaround for
https://github.com/clap-rs/clap/issues/4702 where we use separate calls to `.arg()` for
the short `-p` and the long `--tmpdir`, which results in a less than ideal output for `--help`.
2023-07-18 12:46:05 +02:00
Daniel Hofstetter
27ee279913 nl: fix calculation of line number lengths 2023-07-18 09:30:23 +02:00
Tuomas Tynkkynen
96dbd6d386 stty: Implement printing assignment of control chars
Part of #3861.

Code comments from sylvestre.

Co-authored-by: Sylvestre Ledru <sledru@mozilla.com>
2023-07-16 17:49:23 +03:00
Daniel Hofstetter
373035fa08 cat: remove --t 2023-07-16 16:48:01 +02:00
Sylvestre Ledru
78fed70982
Merge pull request #5078 from cakebaker/nl_allow_negative_values_for_i_and_v
nl: allow negative values for --line-increment and --starting-line-number
2023-07-15 00:21:51 +02:00
Sylvestre Ledru
6f67c90032
Merge pull request #5081 from cakebaker/ci_add_default_trait_access_lint
ci: add default_trait_access lint and fix its warnings
2023-07-15 00:20:53 +02:00
Daniel Hofstetter
424d51285c clippy: fix default_trait_access lint warnings 2023-07-14 13:41:06 +02:00
Sylvestre Ledru
74530c0f51 Update the version to 0.0.20 2023-07-14 13:04:17 +02:00
Daniel Hofstetter
388f249716 nl: allow negative values for -i and -v 2023-07-14 12:31:17 +02:00
Daniel Hofstetter
5d03d2d9d4 clippy: fix warnings introduced by Rust 1.71.0 2023-07-13 17:35:33 +02:00
Sylvestre Ledru
1897c18e88
Merge pull request #5073 from cakebaker/nl_add_test_for_number_separator
nl: add test for "--number-separator"
2023-07-12 22:42:01 +02:00
Rayhan Faizel
504b9e15a0 Clamp overflowing values in --width to maximum 2023-07-12 23:23:58 +05:30
Daniel Hofstetter
20b1f11daa nl: add test for "--number-separator"
and replace "match" with "if let"
2023-07-12 15:25:02 +02:00
Daniel Hofstetter
826adc62aa nl: show error if --number-width is zero
Co-authored-by: Sylvestre Ledru <sylvestre@debian.org>
2023-07-11 17:45:53 +02:00
Sylvestre Ledru
8e8b825b45
Merge pull request #5063 from cakebaker/nl_use_value_parser_for_number_format
nl: use value parser for "--number-format"
2023-07-11 17:10:20 +02:00
Daniel Hofstetter
eb2123ee15 nl: add "after help" 2023-07-11 14:26:54 +02:00
Daniel Hofstetter
cb50208909 nl: use value parser for "--number-format" 2023-07-10 11:20:37 +02:00
John Shin
e5331e3abb
Merge branch 'main' into ls-version-cmp 2023-07-09 14:36:46 -07:00
Daniel Hofstetter
f67ef7fb11 nl: change value name to match help text 2023-07-09 16:08:38 +02:00
Daniel Hofstetter
f8a955266e
Merge pull request #4750 from NikolaiSch/seq-panic-fix
fix: seq panic on no arguments #4749
2023-07-09 14:19:07 +02:00
Daniel Hofstetter
0b37b63ea3
Merge pull request #5055 from yt2b/ls_literal_option
ls: --l should output the same as --literal
2023-07-09 14:07:24 +02:00
Sylvestre Ledru
10bca71b09
Merge branch 'main' into ls-version-cmp 2023-07-09 09:24:39 +02:00
Daniel Hofstetter
6f91371e61 touch: accept "modify" & "mtime" for --time arg 2023-07-08 16:13:35 +02:00
Terts Diepraam
24c2743e10
Merge pull request #5053 from dezgeg/stty-baudrate
stty: Support setting baud rate
2023-07-08 13:27:56 +02:00
Tuomas Tynkkynen
bde9030e4e stty: Support setting baud rate
Part of #3859.
2023-07-08 11:46:16 +03:00
yt2b
cf6f7856e4 ls: fix --l option 2023-07-08 10:43:20 +09:00
Tuomas Tynkkynen
85b9b61dd8 stty: Finish '--save' support
Argument parsing for this exists, but the option doesn't change output
in any way. Finish the support.

Closes #3862
2023-07-08 02:24:26 +03:00
Daniel Hofstetter
ac4ff2ac0e seq: simplify error handling
Co-authored-by: Terts Diepraam <terts.diepraam@gmail.com>
2023-07-06 10:26:29 +02:00
Daniel Hofstetter
4a192e98d5
Merge pull request #5032 from sylvestre/split-fail
split: reject some invalid values
2023-07-05 07:04:22 +02:00
John Shin
4acd02c7a1 ls: string compare if version_cmp returns equal 2023-07-04 16:08:54 -07:00
Sylvestre Ledru
9d44d8b71d
Merge pull request #4977 from cakebaker/date_shortcut_value_parser
date: use custom value parser
2023-07-04 19:56:46 +02:00
Sylvestre Ledru
264d29a169
fix the clippy warning 2023-07-04 18:45:11 +02:00
Terts Diepraam
c455aa0922
Merge pull request #5036 from cakebaker/nl_fix_no_renumber
nl: make -p/--no-renumber a flag
2023-07-04 14:16:04 +02:00
Daniel Hofstetter
fee5225cb6 nl: make --no-renumber a flag 2023-07-04 10:37:10 +02:00
Daniel Hofstetter
18e5c5b5f7 numfmt: remove duplicate info from help output 2023-07-04 07:02:18 +02:00
Sylvestre Ledru
d033db3573 split: reject some invalid values
Matches what is done in tests/split/fail.sh
(still doesn't work)
2023-07-03 22:57:37 +02:00
Sylvestre Ledru
37cbfd1efd
Merge pull request #5030 from cakebaker/touch_use_parse_datetime
touch: use parse_datetime instead of humantime_to_duration
2023-07-03 16:26:51 +02:00
Daniel Hofstetter
11b098fce1
Merge pull request #5028 from sylvestre/cp-multiple
cp: allow multiple usages of -R - Closes: #5027
2023-07-03 16:09:45 +02:00
Sylvestre Ledru
e491bbdbed cp: allow multiple usages of -R/-r Closes: #5027
works for all other rm args
2023-07-03 14:19:45 +02:00
Roy Ivy III
af64bde92b fix/touch ~ time crate usage errors 2023-07-03 14:15:15 +02:00
Sylvestre Ledru
7a7842b5b8
Merge pull request #4756 from Joining7943/tail-refactor-and-fix-input
`tail`: Refactor `paths::Input::from` and `Settings::inputs`
2023-07-03 14:09:57 +02:00
Roy Ivy III
9aef5ac35b deps ~ change from 'humantime_to_duration' to 'parse_datetime' 2023-07-03 13:53:52 +02:00
Terts Diepraam
5a667db43d tail: clean up some small things in input parsing 2023-07-03 13:20:48 +02:00
sbentmar
42bf580f13
numfmt: add --invalid option (#4249)
* numfmt: add invalid option

* numfmt: return code 0 if ignore or warn

* numfmt: implement all --invalid modes

* numfmt: validate stdout and stderr

* numfmt: remove unnecessary code

* numfmt: apply formatting

* numfmt: fix clippy issues

* numfmt: fix failing test cases

* numfmt: fix formatting

* numfmt: fix bug when handling broken pipe

* numfmt: fix bug where extra newline was added

* numfmt: add test cases for edge cases

* numfmt: simplify error handling

* numfmt: remove redundant if

* numfmt: add newline between functions

* numfmt: fix failing test cases

* numfmt: add support for arg numbers using --invalid

* numfmt: simplify error handling in value handlers

* numfmt: fix merge conflict and align prints

* numfmt: fix clippy suggestion

* numfmt: replace "valid" with "invalid" in tests

* numfmt: move INVALID to respect alph. order

* numfmt: move printlns outside of match to avoid duplication

Co-authored-by: Sylvestre Ledru <sledru@mozilla.com>

* numfmt: remove empty line

---------

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
Co-authored-by: Sylvestre Ledru <sledru@mozilla.com>
2023-07-01 17:08:12 +02:00
Daniel Hofstetter
a145798594
Merge pull request #4960 from granquet/ls_LZ
ls: force fetching metadata when called with -L -Z
2023-07-01 15:24:37 +02:00
Daniel Hofstetter
c524ec4a9f
Merge pull request #4950 from Ideflop/more_implement_arguments_plain_and_from_line
More implement arguments plain and from line
2023-07-01 14:18:54 +02:00
crapStone
863f91eca9
fix typos
some arguments had the wrong case
2023-06-29 15:34:19 +00:00
Daniel Hofstetter
610e0461e9
Merge pull request #5020 from indygreg/hashsum-file-stem
hashsum: use file_stem() instead of file_name()
2023-06-29 13:50:30 +02:00
Daniel Hofstetter
5b18c53c9d
Merge pull request #4999 from sylvestre/mv-backup-src
mv: add the check with --b=simple and when the source is a backup
2023-06-29 13:19:40 +02:00
Gregory Szorc
a7f95d5a23 hashsum: use file_stem() instead of file_name()
This program matches the binary name to determine which
algorithm to use. On Windows, `file_name()` was matching
against a string with `.exe`, causing binaries like
`sha256sum.exe` to not properly detect the algorithm.

By using `file_stem()`, we exclude the `.exe` from matching,
achieving similar and correct behavior on Windows.
2023-06-29 10:50:10 +02:00
Daniel Hofstetter
3357aa87a1
Merge pull request #5018 from sylvestre/memmap2
Move memmap2 in the root workpace
2023-06-29 09:31:04 +02:00
Sylvestre Ledru
14e5f89a0e Move memmap2 in the root workpace 2023-06-28 23:16:16 +02:00
Sylvestre Ledru
40c598852b mv: add the check with --b=simple and when the source is a backup 2023-06-28 23:11:28 +02:00
Ideflop
77f8201fb8 more: fix bug not displaying next file message and not stopping at end of file 2023-06-26 21:57:52 +02:00
Ideflop
479340306e more: implement arguments -u/--plain and -F/--from-line 2023-06-26 21:57:45 +02:00
Daniel Hofstetter
c05dbfa3b4 seq: rename "--widths" to "--equal-width"
for compatibility with GNU seq
2023-06-26 16:21:59 +02:00
Terts Diepraam
873c6c36f7
Merge branch 'main' into ls_LZ 2023-06-26 15:52:52 +02:00
Daniel Hofstetter
9149409065
Merge pull request #4991 from shinhs0506/du_apparent
du: directories have apparent size of 0
2023-06-26 14:58:40 +02:00
Guillaume Ranquet
80c7ed9732 ls: force fetching metadata when called with -L -Z
The metadata are not used but it permits to check the symlink is valid.
We then return 1 on invalid symlinks when ls is invoked with ls -L -Z

Signed-off-by: Guillaume Ranquet <granquet@baylibre.com>
2023-06-26 14:46:56 +02:00
John Shin
b34e7f7bf6 du: directories have apparent size of 0 2023-06-25 15:56:57 -07:00
Sylvestre Ledru
644fd1c93e fix some clippy warnings 2023-06-25 22:29:08 +02:00
Nikolai
0b06f2b4a8 fixing seq panic on none 2023-06-25 22:23:40 +02:00
Sylvestre Ledru
b03a88e154
Merge pull request #4972 from cakebaker/sort_migrate_from_ouroboros_to_self_cell
sort: migrate from ouroboros to self_cell
2023-06-25 21:15:02 +02:00
Sylvestre Ledru
da8cb64b74
Merge pull request #4989 from cakebaker/touch_rename_const
touch: rename CURRENT to TIMESTAMP
2023-06-24 10:24:21 +02:00
Sylvestre Ledru
ed71bb60e0
Merge pull request #4995 from cakebaker/nl_implement_default_for_settings
nl: implement Default for Settings
2023-06-24 10:24:08 +02:00
Daniel Hofstetter
d57a5eb6a3 seq: remove two chars in seq.md 2023-06-24 07:07:38 +02:00
Daniel Hofstetter
0010fece35 nl: remove "spell-checker:ignore" line 2023-06-22 14:35:04 +02:00
Daniel Hofstetter
d00134640b nl: use "const" instead of "static" 2023-06-22 14:33:32 +02:00
Daniel Hofstetter
c32139784a nl: implement Default for Settings 2023-06-22 14:30:53 +02:00
Daniel Hofstetter
98d242de7e nl: fix typo in nl.md 2023-06-22 10:04:37 +02:00
Sylvestre Ledru
8debc96eeb
Merge pull request #4983 from TheDcoder/parse-hex
od: fix parsing of hex input ending with `E`
2023-06-20 22:55:32 +02:00
yt2b
c3f2ac6f04 yes: add --version option 2023-06-20 23:20:22 +09:00
Daniel Hofstetter
98ef87af86 touch: cleanup "spell-checker:ignore" line 2023-06-20 15:28:32 +02:00
Daniel Hofstetter
e990f87edc touch: rename CURRENT to TIMESTAMP 2023-06-20 15:23:54 +02:00
Daniel Hofstetter
6ebfaf4b9d sort: migrate from ouroboros to self_cell 2023-06-19 10:17:39 +02:00
Sylvestre Ledru
66723e0961
Merge pull request #4447 from Freaky/dd-alarm-timer
dd: use an alarm thread instead of elapsed() calls
2023-06-19 09:27:13 +02:00
Damon Harris
b7154a80e1 od: fix parsing of hex input ending with E 2023-06-18 21:02:39 +05:30
Kostiantyn Hryshchuk
7306be6e58 fixed shred -u for windows
fixed shred panic on windows
2023-06-18 17:12:10 +02:00
John Shin
47d0ac4a42 sync: fix error msg 2023-06-17 19:50:47 -07:00
Daniel Hofstetter
643afbd731 date: use ShortcutValueParser 2023-06-14 13:34:50 +02:00
Rayhan Faizel
fa11315ce7 mv: check strictly for hard links first before checking for symlinks to catch a very special case, plus ensure only nobackupmode is considered 2023-06-12 23:48:49 +05:30
Sylvestre Ledru
e7557c2bae
Merge branch 'main' into dd-alarm-timer 2023-06-11 18:27:41 +02:00
Sylvestre Ledru
856825bbbc
Merge pull request #4966 from Skryptonyte/mv_selfinto2fix
mv: fix into-self-2.sh test
2023-06-11 18:26:25 +02:00
Daniel Hofstetter
67114ac63c date: switch to parse_datetime 2023-06-11 14:36:51 +02:00
Rayhan Faizel
28ad5cab9f mv: fix GNU test tests/mv/into-self-2.sh 2023-06-10 18:32:09 +05:30
Sylvestre Ledru
63b84fed8b
Merge pull request #4927 from cakebaker/bump_fundu_and_fix_compile_errors
Bump fundu to 1.0.0 and fix compile errors
2023-06-10 09:23:21 +02:00
Frantisek Kropac
ad96a1b8a0
Find MountInfo properly when symlink is used (#4929)
* Find MountInfo properly when symlink is entered

According to GNU implementation the entered path is
being compared with the canonicalized device name
in MountInfo.

Co-authored-by: Frantisek Kropac <kropac.ff@gmail.com>
Co-authored-by: Sylvestre Ledru <sylvestre@debian.org>
2023-06-10 09:22:01 +02:00
renovate[bot]
d26c596a4c
fix(deps): update rust crate memmap2 to 0.7 2023-06-08 11:02:36 +00:00
Sylvestre Ledru
6ecef3a0e3 Reformat TOML files with taplo
npx --yes @taplo/cli fmt
2023-06-08 09:07:19 +02:00
Sylvestre Ledru
6d6966cfb1
Merge pull request #4952 from wanderinglethe/date-remove-time-dep
Remove time dependency from date
2023-06-06 22:21:38 +02:00
Daniel Hofstetter
0128198a99
Merge pull request #4954 from Skryptonyte/ls_sortwidth
ls: Implement new sort option --sort=width
2023-06-06 18:46:54 +02:00
Rayhan Faizel
3f33c5b816 ls: Implement --sort=width 2023-06-06 20:55:42 +05:30
Wandering Lethe
42a22c12f1
Remove time dependency from date
Also upgrades humantime_to_duration to the latest version, it switched from time to chrono. Because touch still depends on time, its humantime_to_duration package version deviates from the workspace version.
2023-06-05 21:41:32 +02:00
Detlev Casanova
b070506255 tsort: Switch to BTreeHash and BTreeSet
Using HashMap and HashSet give a valid topological sort, but the output
will change randomly at each run.

BTree based structures will guarantee that the output is always ordered
in the same way.

This also makes the ouptut similar to the output of the C version of the
tools, on which some applications rely.
2023-06-05 11:06:53 -04:00
Miles Liu
1c4d7b2f87
install: remove time crate 2023-06-05 16:34:50 +08:00
Sylvestre Ledru
3d220513e3
Merge pull request #4942 from x-dune/pr-use-chrono
`pr` use chrono instead of time
2023-06-04 18:46:38 +02:00
Sylvestre Ledru
abfceda12d
Merge pull request #4926 from sylvestre/new-release
New release
2023-06-04 16:09:04 +02:00
Tracy
126bbba17a
pwd: Fixes #4855 (#4937)
Based on testing with GNU's pwd, it seems like the -P flag should
take precedence over the use of the POSIXLY_CORRECT flag.

Co-authored-by: Terts Diepraam <terts.diepraam@gmail.com>
2023-06-04 16:03:01 +02:00
x-dune
7958c5d061 pr: use chrono instead of time 2023-06-04 20:17:52 +08:00
Sylvestre Ledru
830b7d5ce1 New release 2023-06-04 09:46:59 +02:00
Guillaume Ranquet
ee4691f4a2 cp: makes --preserve requires =
prevents --preserve to eat the next argument when no value is passed.

default value for --preserve is set to mode,ownership(unix only),timestamps

before the patch:
cp --preserve foo bar
error: invalid value 'foo' for '--preserve [<ATTR_LIST>...]'
  [possible values: mode, ownership, timestamps, context, link, links, xattr, all]

Signed-off-by: Guillaume Ranquet <granquet@baylibre.com>
2023-06-04 09:46:35 +02:00
Sylvestre Ledru
160952a42c
Merge pull request #4918 from shinhs0506/core-size
shred: add support for octal and hex size
2023-06-03 10:48:19 +02:00
Sylvestre Ledru
e8effd0d0a
Merge pull request #4914 from Ideflop/more_implement_arguments_lines_and_number
more: implement arguments -n/--lines and --number
2023-06-02 20:20:20 +02:00
Sylvestre Ledru
20ce7accf2 cp: -i prompts in the right place
Should fix tests/cp/cp-i.sh
2023-06-01 21:42:35 +02:00
Sylvestre Ledru
4eb1e847e9 cp --no-clobber should fail 2023-06-01 21:42:32 +02:00
Daniel Hofstetter
b6c02c1a23 tail: fix compile error due to fundu update 2023-06-01 15:30:43 +02:00
Daniel Hofstetter
ccee02f025 sleep: fix compile error due to fundu update 2023-06-01 10:57:54 +02:00
Terts Diepraam
77e183955b head: use OsStringExt::from_vec instead of std::from_utf8_unchecked
This no longer triggers the `invalid_from_utf8_unchecked` lint. It
is also a bit cleaner and no longer requires `unsafe` because
OsString is not guaranteed to be valid UTF-8.
2023-05-31 21:18:13 +02:00
Terts Diepraam
701f30a15e
Merge pull request #4909 from sylvestre/test_debug
Add support for `cp --debug`
2023-05-31 20:27:02 +02:00
Daniel Hofstetter
09db8d8af9 fmt: adapt defaults to the ones used by GNU fmt 2023-05-31 16:41:56 +02:00
Daniel Hofstetter
42d6604e59 fmt: implement default for FmtOptions 2023-05-31 10:35:54 +02:00
John Shin
4b09b917cd shred: use exact if size is given 2023-05-30 15:08:22 -07:00
John Shin
f10059db02 shred: refactor get_size 2023-05-30 13:40:41 -07:00
John Shin
b93bae2964 tail: fix parsing logic and add quote 2023-05-30 13:34:00 -07:00
John Shin
f10faf21bc head: interpret size as decimal 2023-05-30 13:32:48 -07:00
Sylvestre Ledru
f830b6e68f update to platform-info 2.0.1 2023-05-30 17:43:54 +02:00
John Shin
3ca003846d shred: add support for hex and octal size 2023-05-30 13:56:01 +02:00
Ideflop
f1c943ed31 more: error handling for write_all in function paging_add_back_message 2023-05-30 09:03:00 +02:00
Daniel Hofstetter
191f2380b9
Merge pull request #4905 from sylvestre/mv-n
mv: Show 'skipped' when a file isn't overwriten
2023-05-30 07:27:48 +02:00
Sylvestre Ledru
f2006a9a6b cp: add support of cp --debug 2023-05-29 22:44:57 +02:00
Sylvestre Ledru
d38797bb50 mv: Show 'skipped' when a file isn't overwriten
Should fix tests/mv/mv-n.sh
2023-05-29 21:57:42 +02:00
Sylvestre Ledru
d303af31b7 cp: Accept --preserve=link
Used for example in:
tests/mv/hard-3.sh
2023-05-29 15:46:18 +02:00
Ideflop
6c98b23e80 more: implement arguments -n/--lines and --number 2023-05-29 14:36:18 +02:00
Jed Denlea
d6562b2b5f uniq: non-UTF-8 file names and fewer copies
uniq ought to be able to work with files whose names are not UTF-8.

I've also taken the chance to remove some unnecessary String
allocations.

Additionally, both open_input_file and open_output_file were returning
items with two implie levels of `Box<dyn ...>` that were not necessary.

In the case of stdin as input, it was not necessary to wrap stdin with a
BufReader, StdinLock implements BufRead itself.
2023-05-28 17:25:39 -07:00
Kamil Ogórek
07434647ad
fix: Correctly detect format when using md5sum with check flag (#4645) 2023-05-27 23:56:15 +02:00
Sylvestre Ledru
388fa1b717
Merge pull request #4696 from jeddenlea/wc
wc: streaming --files0-from and other improvements
2023-05-27 23:55:16 +02:00
Sylvestre Ledru
e295cb7acb
Merge pull request #4903 from Ideflop/more_implement_squeeze
more: implement argument -s / --squeeze
2023-05-27 20:38:52 +02:00
jaggededgedjustice
81a854a13e
date: Catch format string that is not supported by chrono (#4244)
* Catch format string that is not supported by chrono

Co-authored-by: Sylvestre Ledru <sylvestre@debian.org>
2023-05-27 15:41:12 +02:00
Ideflop
03dec5128c more: implement argument -s / --squeeze 2023-05-27 00:04:04 +02:00
Daniel Hofstetter
81e3b04b11
Merge pull request #4888 from Ludmuterol/more-panic-4886
fix(#4886) more: panics if file is not readable
2023-05-24 17:42:27 +02:00
tpeters
eed916a076 more: disable raw mode on error 2023-05-24 13:40:14 +02:00
tpeters
50bff30c67 more: add test and change error type 2023-05-23 18:03:25 +02:00
John Shin
e50b84035f rm: fix prompt when --interactive is once 2023-05-22 21:26:52 -07:00
John Shin
78909fdd39 rm: allow empty when for --interactive arg 2023-05-22 21:11:47 -07:00
tpeters
d41777c52c more: change file unwrap to match 2023-05-22 20:07:14 +02:00
Jed Denlea
e5b46ea3eb wc: more tests and fixes
My previous commits meant to bring our wc's output and behavior in line
with GNU's. There should be tests that check for these changes!

I found a stupid bug in my own changes, I was not adding 1 to the
indexes produced by .enumerate() when printing errors.
2023-05-22 01:02:35 -07:00
Sylvestre Ledru
e5419ade96
Merge pull request #4878 from cakebaker/mktemp_4874
mktemp: prioritize TMPDIR over -p when using -t
2023-05-22 09:31:11 +02:00
Jed Denlea
c4b53a44b5 wc: make --files0-from work with streams 2023-05-21 23:59:32 -07:00
Sylvestre Ledru
c91520768e
Merge pull request #4876 from shinhs0506/mkdir-p
mkdir: set correct permissions on dirs created by -p
2023-05-22 07:43:52 +02:00
Moïse Valvassori
0130a07579
chown: show message if file doesn't exist
* print the message "failed to change ownership of" when we try to change a non existing file.

* replace the 4-tuple returned by parse_gid_uid_and_filter by GidUidOwnerFilter struct.

* chain the test in one expression.

* chown: remove unused var "result" in test

---------

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2023-05-21 17:54:32 +02:00
Jed Denlea
d58ee5a28a wc: skip String to measure number length
Sadly ilog10 isn't available until we use 1.67, but we can get close in
the meantime.
2023-05-20 23:29:48 -07:00
Jed Denlea
36b45e2249 wc: touch up errors, quote more like GNU
WcError should not hold Strings which are clones of `&'static str`s.
thiserror provides a convenient API to declare errors with their Display
messages.

wc quotes the --files0-from source slightly differently when reporting
errors about empty file names.
2023-05-20 23:29:48 -07:00
Jed Denlea
38b4825e7f wc: avoid excess String allocations
print_stats will now take advantage of the buffer built into
io::stdout().

We can also waste fewer lines on show! by making a helper macro.
2023-05-20 23:08:26 -07:00
Jed Denlea
c3b06e10a6 wc: clean up of settings
The Settings object did not need a QuotingStyle member, it was basically
a static.
2023-05-20 22:30:14 -07:00
Daniel Hofstetter
70765eea82
Merge pull request #4872 from Ideflop/more_implement_print_over_and_clean_print
more: add arguments print over and clean print
2023-05-20 15:32:50 +02:00
Ideflop
2d1a9f6709 fix behavior of -c and -p commands 2023-05-20 08:56:50 +02:00
Daniel Hofstetter
698fafad68 mktemp: prioritize TMPDIR over -p when using -t 2023-05-20 08:02:37 +02:00
John Shin
9e8575dadd mkdir: add documentation for the use of allow attribute 2023-05-19 08:13:33 -07:00
John Shin
f592dff46a mkdir: skip setting dir permissions on windows 2023-05-18 19:34:57 -07:00
John Shin
b05c05eb45 mkdir: chmod of parent directories created by -p 2023-05-18 19:11:49 -07:00
Daniel Hofstetter
932f44d3dc more: support PageDown/PageUp keys 2023-05-18 15:24:49 +02:00
Daniel Hofstetter
74e73bee06
Merge pull request #4832 from sylvestre/issue_4821
mktemp -t foo.XXXX should create in TMPDIR
2023-05-18 14:12:40 +02:00
Sylvestre Ledru
cd189b2391 Fix mktemp -t -p ~/projects/playground foo.XXXX 2023-05-18 11:08:55 +02:00
Sylvestre Ledru
35b5fd6a40 mktemp -t foo.XXXX should create in TMPDIR 2023-05-18 11:08:55 +02:00
Jed Denlea
db5696f64b rm: support non-UTF-8 paths
Addresses #4868.
2023-05-17 23:01:21 -07:00
Ideflop
1ce52903b0
Merge branch 'uutils:main' into more_implement_print_over_and_clean_print 2023-05-17 22:47:07 +02:00
Ideflop
b676875c0c more: add arguments print over and clean print 2023-05-17 20:38:03 +02:00
Jed Denlea
3870ee252a yes: support non-UTF-8 args
Also, tighten the creation of the output buffer.  Rather than copy "y\n"
8192 times, or any other input some number of times, it can be doubled
in place using Vec::extend_from_within.
2023-05-15 11:29:14 -07:00
Sylvestre Ledru
369a2a6631
Simplify the declaration
Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2023-05-15 10:12:28 +02:00
Sylvestre Ledru
3e7594632b ls: when facing an invalid utf-8, don't panic
Fails with
```
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: "invalid-\xE0-"', src/uu/ls/src/ls.rs:1932:53
```
2023-05-14 22:11:44 +02:00
Daniel Hofstetter
690fff2fc9 cksum: implement --untagged 2023-05-14 16:43:14 +02:00
John Shin
a817186e10 cp: preserve permissions on -r -p --parents 2023-05-12 11:34:51 -07:00
Sylvestre Ledru
64c49de0cc
Merge pull request #4432 from jfinkels/dd-nocache
dd: support the [io]flag=nocache option
2023-05-12 09:53:57 +02:00
Sylvestre Ledru
22a7f98a47
Merge pull request #4856 from cakebaker/cksum_fix_algorithm_output
cksum: fix output of --algorithm
2023-05-11 18:18:24 +02:00
John Shin
7a31d841ba
cp: preserve permission on -p --parents (#4853) 2023-05-11 16:44:23 +02:00
Daniel Hofstetter
0781ad0a65 cksum: fix output of --algorithm
for the algorithms md5, sha[1,224,256,384,512], blake2b, and sm3 from

<digest> <filesize> <filename>

to

<algo name> (<filename>) = <digest>

to use the same format as GNU cksum
2023-05-11 14:24:43 +02:00
SteveLauC
452be5a220
ls: device number for BSDs and solarishOS (#4841) 2023-05-11 12:58:36 +02:00
renovate[bot]
7983e23d53
fix(deps): update rust crate memmap2 to 0.6 2023-05-09 18:00:46 +00:00
Daniel Hofstetter
3f40ec4db7 basenc: add help texts for options 2023-05-09 09:44:48 +02:00
Daniel Hofstetter
d769871374
Merge pull request #4831 from sylvestre/mv-hardlink
mv: 'mv source hardlink' should fail
2023-05-08 16:12:23 +02:00
Sylvestre Ledru
594f81a88a mv --backup=simple a b on hard links should not fail
touch a
ln a b
./target/debug/coreutils mv --backup=simple a b

GNU: tests/mv/hard-4.sh
2023-05-08 13:08:20 +02:00
Daniel Hofstetter
f9536e9914
Merge pull request #4842 from sylvestre/aze
dd: fix some clippy warnings 'variable does not need to be mutable'
2023-05-08 07:44:55 +02:00
Sylvestre Ledru
1b99376d95 mv: split exec into smaller functions 2023-05-07 23:08:44 +02:00
Sylvestre Ledru
a5a39b6ba8 mv: 'mv source hardlink' should fail
fixes: tests/mv/force.sh
2023-05-07 23:08:41 +02:00
Jeffrey Finkelstein
4ff318aee1 fixup! dd: support the [io]flag=nocache option 2023-05-07 16:33:21 -04:00
Sylvestre Ledru
916f014ef0 dd: fix some clippy warnings 'variable does not need to be mutable' 2023-05-07 18:46:08 +02:00
Jeffrey Finkelstein
bd18a2a344 dd: support the [io]flag=nocache option
Add support for the `iflag=nocache` and `oflag=nocache` to make `dd`
discard the filesystem cache for the processed portion of the input or
output file.
2023-05-07 11:43:13 -04:00
Jeffrey Finkelstein
cc2f97ba0d dd: add discard_cache() funcs for Input, Output
Add the `Input::discard_cache()` and `Output::discard_cache()`
functions. These allow discarding the filesystem cache when `dd` no
longer needs to access a specified portion of the input or output
file, respectively.
2023-05-07 11:43:13 -04:00
Jeffrey Finkelstein
12e4acaec3 dd: add bytes_total to ReadStat
Add the `bytes_total` field to the `ReadStat` struct. This lets the
main loop of `dd` keep track of the total number of bytes read.
2023-05-07 11:43:13 -04:00
Sylvestre Ledru
9dc8bc83a6
Merge pull request #4837 from m11o/tty-move-strings-to-md-file
tty: move help strings to markdown file
2023-05-06 19:51:23 +02:00
Daniel Hofstetter
93f28dacc0
Merge pull request #4834 from sylvestre/cognitive_complexity
Lower the clippy cognitive complexity & fix lines_filter_map_ok
2023-05-06 17:48:23 +02:00
Sylvestre Ledru
9ed7ac1481
Merge pull request #4826 from cakebaker/mv_4795
mv: if more than one of -i, -f, -n is specified, only the final one takes effect
2023-05-06 17:35:02 +02:00
m11o
1ac31ccfa0 tty: move help strings to markdown file 2023-05-07 00:27:16 +09:00
Sylvestre Ledru
d441d71aac
Merge pull request #4829 from m11o/tsort-move-strings-to-md-file
tsort: move help strings to markdown file
2023-05-06 14:55:49 +02:00
Sylvestre Ledru
cd688662ec fix some lines_filter_map_ok clippy warnings 2023-05-06 14:53:42 +02:00